[systemd] Backport a bunch of patches
Zbigniew Jędrzejewski-Szmek
zbyszek at fedoraproject.org
Sat Mar 14 16:08:34 UTC 2015
commit 399a2a87d9d9aea041de3bd93d3b355c2d4a2363
Author: Zbigniew Jędrzejewski-Szmek <zbyszek at in.waw.pl>
Date: Sat Mar 14 11:36:00 2015 -0400
Backport a bunch of patches
0027-import-remove-unused-variable.patch | 22 +
...8-hwdb-fix-ThinkPad-X-Tablet-special-keys.patch | 9 +-
...lines-to-the-pull-raw-example-in-machinec.patch | 34 +
...-in-deserializing-match-same-files-reache.patch | 133 +
...SocketAddress-in-socket_address_matches_f.patch | 83 +
...oid-semi-duplicating-socket_address_equal.patch | 42 +
...le-unnamed-sockets-in-socket_address_equa.patch | 29 +
0034-man-make-bootup-graph-consistent.patch | 23 +
...whitespace-and-typo-in-partition-table-bl.patch | 23 +
0036-man-explain-time-units-in-tmpfiles.patch | 53 +
...stemctl-check-validity-of-PID-we-received.patch | 33 +
0038-systemctl-support-auditd.service-better.patch | 85 +
0039-shared-unit-name-fix-gcc5-warning.patch | 31 +
0040-test-hashmap-fix-gcc5-warning.patch | 32 +
...d-fix-wrong-assertion-in-barrier_set_role.patch | 29 +
...-database-of-Bluetooth-company-identifier.patch | 60 +
...e-skipping-of-exhausted-journal-files-eff.patch | 114 +
...-sdio-identifiers-for-Broadcom-WLAN-cards.patch | 34 +
0045-shared-condition-fix-gcc5-warning.patch | 42 +
...rect-description-of-systemd-user-sessions.patch | 34 +
...ys-allow-lto-and-FORTIFY_SOURCE-with-O-sz.patch | 31 +
0048-man-fix-typo.patch | 23 +
0049-bus-proxyd-avoid-logging-oom-twice.patch | 23 +
...sysv-generator-test-when-sysv-compat-is-d.patch | 29 +
0051-README-mention-ACLs-more.patch | 26 +
...vertise-.d-snippets-over-main-config-file.patch | 333 +++
0053-hwdb-add-pnpid-for-the-T450s-touchpad.patch | 22 +
...tdev-inform-when-we-take-over-an-existing.patch | 30 +
...-replace-obsolete-wiki-link-with-man-page.patch | 181 ++
...-uname-identifiers-in-arch_map-for-SuperH.patch | 31 +
0057-hwdb-fix-Dell-XPS12-9Q33-key-name.patch | 24 +
0058-Remove-the-cap-on-epoll-events.patch | 36 +
...Allow-up-to-4096-simultaneous-connections.patch | 30 +
0060-hwdb-add-Logitech-G5-Laser-Mouse.patch | 23 +
...-tmpfiles-Fix-handling-of-duplicate-lines.patch | 32 +
...novo-W451-to-TOUCHPAD_HAS_TRACKPOINT_BUTT.patch | 23 +
...sole-match-on-vtcon-events-not-fbcon-ones.patch | 39 +
...-spawn-jobs-or-touch-other-units-during-c.patch | 375 +++
...et-all-spwd-fields-to-1-for-consistency-w.patch | 28 +
...-not-reject-users-with-already-present-et.patch | 77 +
...ix-use-after-free-and-leak-in-error-paths.patch | 40 +
0068-login-fix-copy-pasto-in-error-path.patch | 25 +
...update-hint-now-that-we-set-ACL-everywher.patch | 63 +
...l-return-error-when-we-cannot-open-a-file.patch | 26 +
0071-missing.h-add-NDA_.patch | 70 +
0072-udevd-close-race-in-udev-settle.patch | 85 +
...t-that-ExecStartPre-is-not-the-place-to-s.patch | 27 +
0074-journal-fix-return-code.patch | 31 +
0075-console-fix-error-code-inversion.patch | 27 +
...-complain-only-once-about-queue-overflows.patch | 72 +
0077-cgtop-fix-assert-when-not-on-tty.patch | 31 +
0078-man-split-paragraph.patch | 28 +
0079-hwdb-update.patch | 3156 ++++++++++++++++++++
...gin-with-serial-number-1-for-netlink-requ.patch | 45 +
...emote-downgrade-routine-messages-to-debug.patch | 179 ++
...urnal-remote-process-events-without-delay.patch | 156 +
...man-update-example-2-in-systemd.network-5.patch | 26 +
0084-gpt-auto-generator-fix-detection-of-srv.patch | 24 +
0085-sd-rtnl-never-set-serial-to-0.patch | 28 +
...t-auto-generator-allow-type-check-to-fail.patch | 45 +
0087-man-fix-a-bunch-of-links.patch | 1453 +++++++++
0088-man-link-to-fd.o-for-dbus-stuff.patch | 90 +
...an-fix-name-of-systemd.resource-control-5.patch | 23 +
...-SEGV-during-switch-root-if-SELinux-polic.patch | 37 +
...-t-add-After-dependencies-on-.busname-uni.patch | 35 +
systemd.spec | 84 +-
66 files changed, 8260 insertions(+), 7 deletions(-)
---
diff --git a/0027-import-remove-unused-variable.patch b/0027-import-remove-unused-variable.patch
new file mode 100644
index 0000000..45b9748
--- /dev/null
+++ b/0027-import-remove-unused-variable.patch
@@ -0,0 +1,22 @@
+From 4d5f8b0cbdda7f662b85bdf18344d9b83c8789a8 Mon Sep 17 00:00:00 2001
+From: Thomas Hindoe Paaboel Andersen <phomes at gmail.com>
+Date: Tue, 17 Feb 2015 20:06:13 +0100
+Subject: [PATCH] import: remove unused variable
+
+(cherry picked from commit b89c454b37a23433f8fd6ad7b93f5a6190930aa4)
+---
+ src/import/import-tar.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/src/import/import-tar.c b/src/import/import-tar.c
+index 999aa8ab5e..493252a132 100644
+--- a/src/import/import-tar.c
++++ b/src/import/import-tar.c
+@@ -301,7 +301,6 @@ finish:
+ }
+
+ static int tar_import_job_on_open_disk(ImportJob *j) {
+- _cleanup_close_pair_ int pipefd[2] = { -1 , -1 };
+ TarImport *i;
+ int r;
+
diff --git a/0027-hwdb-fix-ThinkPad-X-Tablet-special-keys.patch b/0028-hwdb-fix-ThinkPad-X-Tablet-special-keys.patch
similarity index 90%
rename from 0027-hwdb-fix-ThinkPad-X-Tablet-special-keys.patch
rename to 0028-hwdb-fix-ThinkPad-X-Tablet-special-keys.patch
index 2db450f..fc56093 100644
--- a/0027-hwdb-fix-ThinkPad-X-Tablet-special-keys.patch
+++ b/0028-hwdb-fix-ThinkPad-X-Tablet-special-keys.patch
@@ -1,4 +1,4 @@
-From 39addb81b660dd7af7d21be941d8de6497abbdbf Mon Sep 17 00:00:00 2001
+From bfc587ff72ad50e290b3f5426edb929b225da53f Mon Sep 17 00:00:00 2001
From: Lubomir Rintel <lkundrak at v3.sk>
Date: Wed, 18 Feb 2015 21:02:01 +0100
Subject: [PATCH] hwdb: fix ThinkPad X* Tablet special keys
@@ -15,12 +15,14 @@ System Information
Wake-up Type: Power Switch
SKU Number: Not Specified
Family: ThinkPad X61 Tablet
+
+(cherry picked from commit 39addb81b660dd7af7d21be941d8de6497abbdbf)
---
hwdb/60-keyboard.hwdb | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/hwdb/60-keyboard.hwdb b/hwdb/60-keyboard.hwdb
-index 1b7d871..2cb9769 100644
+index 1b7d87101a..2cb976923d 100644
--- a/hwdb/60-keyboard.hwdb
+++ b/hwdb/60-keyboard.hwdb
@@ -586,7 +586,6 @@ keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pnS10-*:pvr*
@@ -40,6 +42,3 @@ index 1b7d871..2cb9769 100644
KEYBOARD_KEY_6c=direction # rotate
KEYBOARD_KEY_68=leftmeta # toolbox
KEYBOARD_KEY_6b=esc # escape
---
-2.1.0
-
diff --git a/0029-man-add-newlines-to-the-pull-raw-example-in-machinec.patch b/0029-man-add-newlines-to-the-pull-raw-example-in-machinec.patch
new file mode 100644
index 0000000..69d815d
--- /dev/null
+++ b/0029-man-add-newlines-to-the-pull-raw-example-in-machinec.patch
@@ -0,0 +1,34 @@
+From 058bc7a903672a01981450a8c21ec03b92498aff Mon Sep 17 00:00:00 2001
+From: Benjamin Franzke <benjaminfranzke at googlemail.com>
+Date: Thu, 19 Feb 2015 13:10:18 +0100
+Subject: [PATCH] man: add newlines to the pull-raw example in machinectl(1)
+
+They were removed in commit 798d3a52 ("Reindent man pages to 2ch").
+
+(cherry picked from commit ac92ced5bb41def1d90f871d6c8cfec2b03c0c7d)
+---
+ man/machinectl.xml | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/man/machinectl.xml b/man/machinectl.xml
+index 9b07af4226..640cb8b7d6 100644
+--- a/man/machinectl.xml
++++ b/man/machinectl.xml
+@@ -715,11 +715,12 @@
+ <title>Download a Fedora image, set a root password in it, start
+ it as service</title>
+
+- <programlisting># machinectl pull-raw --verify=no
+- http://ftp.halifax.rwth-aachen.de/fedora/linux/releases/21/Cloud/Images/x86_64/Fedora-Cloud-Base-20141203-21.x86_64.raw.xz
+- # systemd-nspawn -M Fedora-Cloud-Base-20141203-21 # passwd #
+- exit # machinectl start Fedora-Cloud-Base-20141203-21 #
+- machinectl login Fedora-Cloud-Base-20141203-21</programlisting>
++ <programlisting># machinectl pull-raw --verify=no http://ftp.halifax.rwth-aachen.de/fedora/linux/releases/21/Cloud/Images/x86_64/Fedora-Cloud-Base-20141203-21.x86_64.raw.xz
++# systemd-nspawn -M Fedora-Cloud-Base-20141203-21
++# passwd
++# exit
++# machinectl start Fedora-Cloud-Base-20141203-21
++# machinectl login Fedora-Cloud-Base-20141203-21</programlisting>
+
+ <para>This downloads the specified <filename>.raw</filename>
+ image with verification disabled. Then a shell is opened in it
diff --git a/0030-core-shared-in-deserializing-match-same-files-reache.patch b/0030-core-shared-in-deserializing-match-same-files-reache.patch
new file mode 100644
index 0000000..fb182ad
--- /dev/null
+++ b/0030-core-shared-in-deserializing-match-same-files-reache.patch
@@ -0,0 +1,133 @@
+From 25e6978bb35805349c69d610c775cfd3a70058f7 Mon Sep 17 00:00:00 2001
+From: Michal Schmidt <mschmidt at redhat.com>
+Date: Thu, 19 Feb 2015 23:12:38 +0100
+Subject: [PATCH] core, shared: in deserializing, match same files reached via
+ different paths
+
+When dbus.socket is updated like this:
+-ListenStream=/var/run/dbus/system_bus_socket
++ListenStream=/run/dbus/system_bus_socket
+... and daemon-reload is performed, bad things happen.
+During deserialization systemd does not recognize that the two paths
+refer to the same named socket and replaces the socket file with a new
+one. As a result, applications hang when they try talking to dbus.
+
+Fix this by finding a match not only when the path names are equal, but
+also when they point to the same inode.
+In socket_address_equal() it is necessary to move the address size
+comparison into the abstract sockets branch. For path name sockets the
+comparison must not be done and for other families it is redundant
+(their sizes are constant and checked by socket_address_verify()).
+
+FIFOs and special files can also have multiple pathnames, so compare the
+inodes for them as well. Note that previously the pathname checks used
+streq_ptr(), but the paths cannot be NULL.
+
+Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1186018
+(cherry picked from commit c78e47a61fa8d9a21fece01c83e4c26ce0938d27)
+---
+ src/core/socket.c | 6 +++---
+ src/shared/path-util.c | 4 ++++
+ src/shared/path-util.h | 1 +
+ src/shared/socket-util.c | 10 ++++------
+ 4 files changed, 12 insertions(+), 9 deletions(-)
+
+diff --git a/src/core/socket.c b/src/core/socket.c
+index 48c43a2880..88aae4815b 100644
+--- a/src/core/socket.c
++++ b/src/core/socket.c
+@@ -2100,7 +2100,7 @@ static int socket_deserialize_item(Unit *u, const char *key, const char *value,
+
+ LIST_FOREACH(port, p, s->ports)
+ if (p->type == SOCKET_FIFO &&
+- streq_ptr(p->path, value+skip))
++ path_equal_or_files_same(p->path, value+skip))
+ break;
+
+ if (p) {
+@@ -2119,7 +2119,7 @@ static int socket_deserialize_item(Unit *u, const char *key, const char *value,
+
+ LIST_FOREACH(port, p, s->ports)
+ if (p->type == SOCKET_SPECIAL &&
+- streq_ptr(p->path, value+skip))
++ path_equal_or_files_same(p->path, value+skip))
+ break;
+
+ if (p) {
+@@ -2138,7 +2138,7 @@ static int socket_deserialize_item(Unit *u, const char *key, const char *value,
+
+ LIST_FOREACH(port, p, s->ports)
+ if (p->type == SOCKET_MQUEUE &&
+- streq_ptr(p->path, value+skip))
++ streq(p->path, value+skip))
+ break;
+
+ if (p) {
+diff --git a/src/shared/path-util.c b/src/shared/path-util.c
+index b9db7f1047..70bc1caa2a 100644
+--- a/src/shared/path-util.c
++++ b/src/shared/path-util.c
+@@ -436,6 +436,10 @@ bool path_equal(const char *a, const char *b) {
+ }
+ }
+
++bool path_equal_or_files_same(const char *a, const char *b) {
++ return path_equal(a, b) || files_same(a, b) > 0;
++}
++
+ char* path_join(const char *root, const char *path, const char *rest) {
+ assert(path);
+
+diff --git a/src/shared/path-util.h b/src/shared/path-util.h
+index bd0d32473f..bcf116ed3d 100644
+--- a/src/shared/path-util.h
++++ b/src/shared/path-util.h
+@@ -45,6 +45,7 @@ int path_make_relative(const char *from_dir, const char *to_path, char **_r);
+ char* path_kill_slashes(char *path);
+ char* path_startswith(const char *path, const char *prefix) _pure_;
+ bool path_equal(const char *a, const char *b) _pure_;
++bool path_equal_or_files_same(const char *a, const char *b);
+ char* path_join(const char *root, const char *path, const char *rest);
+
+ char** path_strv_make_absolute_cwd(char **l);
+diff --git a/src/shared/socket-util.c b/src/shared/socket-util.c
+index c6f64876be..c278d6f9d4 100644
+--- a/src/shared/socket-util.c
++++ b/src/shared/socket-util.c
+@@ -325,9 +325,6 @@ bool socket_address_equal(const SocketAddress *a, const SocketAddress *b) {
+ if (a->type != b->type)
+ return false;
+
+- if (a->size != b->size)
+- return false;
+-
+ if (socket_address_family(a) != socket_address_family(b))
+ return false;
+
+@@ -352,14 +349,16 @@ bool socket_address_equal(const SocketAddress *a, const SocketAddress *b) {
+ break;
+
+ case AF_UNIX:
+-
+ if ((a->sockaddr.un.sun_path[0] == 0) != (b->sockaddr.un.sun_path[0] == 0))
+ return false;
+
+ if (a->sockaddr.un.sun_path[0]) {
+- if (!strneq(a->sockaddr.un.sun_path, b->sockaddr.un.sun_path, sizeof(a->sockaddr.un.sun_path)))
++ if (!path_equal_or_files_same(a->sockaddr.un.sun_path, b->sockaddr.un.sun_path))
+ return false;
+ } else {
++ if (a->size != b->size)
++ return false;
++
+ if (memcmp(a->sockaddr.un.sun_path, b->sockaddr.un.sun_path, a->size) != 0)
+ return false;
+ }
+@@ -367,7 +366,6 @@ bool socket_address_equal(const SocketAddress *a, const SocketAddress *b) {
+ break;
+
+ case AF_NETLINK:
+-
+ if (a->protocol != b->protocol)
+ return false;
+
diff --git a/0031-shared-use-SocketAddress-in-socket_address_matches_f.patch b/0031-shared-use-SocketAddress-in-socket_address_matches_f.patch
new file mode 100644
index 0000000..a27e783
--- /dev/null
+++ b/0031-shared-use-SocketAddress-in-socket_address_matches_f.patch
@@ -0,0 +1,83 @@
+From c3ddd973109320c7f8f06d07438bb9b1f7876866 Mon Sep 17 00:00:00 2001
+From: Michal Schmidt <mschmidt at redhat.com>
+Date: Fri, 20 Feb 2015 02:04:05 +0100
+Subject: [PATCH] shared: use SocketAddress in socket_address_matches_fd()
+
+Cleanup. No behavior change.
+
+(cherry picked from commit dbafedacba3ee77098e932222ae7840e7b4040fc)
+---
+ src/shared/socket-util.c | 36 ++++++++++++++++++------------------
+ 1 file changed, 18 insertions(+), 18 deletions(-)
+
+diff --git a/src/shared/socket-util.c b/src/shared/socket-util.c
+index c278d6f9d4..c31f60ec7e 100644
+--- a/src/shared/socket-util.c
++++ b/src/shared/socket-util.c
+@@ -435,48 +435,48 @@ bool socket_ipv6_is_supported(void) {
+ }
+
+ bool socket_address_matches_fd(const SocketAddress *a, int fd) {
+- union sockaddr_union sa;
+- socklen_t salen = sizeof(sa), solen;
+- int protocol, type;
++ SocketAddress b;
++ socklen_t solen;
+
+ assert(a);
+ assert(fd >= 0);
+
+- if (getsockname(fd, &sa.sa, &salen) < 0)
++ b.size = sizeof(b.sockaddr);
++ if (getsockname(fd, &b.sockaddr.sa, &b.size) < 0)
+ return false;
+
+- if (sa.sa.sa_family != a->sockaddr.sa.sa_family)
++ if (b.sockaddr.sa.sa_family != a->sockaddr.sa.sa_family)
+ return false;
+
+- solen = sizeof(type);
+- if (getsockopt(fd, SOL_SOCKET, SO_TYPE, &type, &solen) < 0)
++ solen = sizeof(b.type);
++ if (getsockopt(fd, SOL_SOCKET, SO_TYPE, &b.type, &solen) < 0)
+ return false;
+
+- if (type != a->type)
++ if (b.type != a->type)
+ return false;
+
+ if (a->protocol != 0) {
+- solen = sizeof(protocol);
+- if (getsockopt(fd, SOL_SOCKET, SO_PROTOCOL, &protocol, &solen) < 0)
++ solen = sizeof(b.protocol);
++ if (getsockopt(fd, SOL_SOCKET, SO_PROTOCOL, &b.protocol, &solen) < 0)
+ return false;
+
+- if (protocol != a->protocol)
++ if (b.protocol != a->protocol)
+ return false;
+ }
+
+- switch (sa.sa.sa_family) {
++ switch (b.sockaddr.sa.sa_family) {
+
+ case AF_INET:
+- return sa.in.sin_port == a->sockaddr.in.sin_port &&
+- sa.in.sin_addr.s_addr == a->sockaddr.in.sin_addr.s_addr;
++ return b.sockaddr.in.sin_port == a->sockaddr.in.sin_port &&
++ b.sockaddr.in.sin_addr.s_addr == a->sockaddr.in.sin_addr.s_addr;
+
+ case AF_INET6:
+- return sa.in6.sin6_port == a->sockaddr.in6.sin6_port &&
+- memcmp(&sa.in6.sin6_addr, &a->sockaddr.in6.sin6_addr, sizeof(struct in6_addr)) == 0;
++ return b.sockaddr.in6.sin6_port == a->sockaddr.in6.sin6_port &&
++ memcmp(&b.sockaddr.in6.sin6_addr, &a->sockaddr.in6.sin6_addr, sizeof(struct in6_addr)) == 0;
+
+ case AF_UNIX:
+- return salen == a->size &&
+- memcmp(sa.un.sun_path, a->sockaddr.un.sun_path, salen - offsetof(struct sockaddr_un, sun_path)) == 0;
++ return b.sockaddr.size == a->size &&
++ memcmp(b.sockaddr.un.sun_path, a->sockaddr.un.sun_path, b.size - offsetof(struct sockaddr_un, sun_path)) == 0;
+
+ }
+
diff --git a/0032-shared-avoid-semi-duplicating-socket_address_equal.patch b/0032-shared-avoid-semi-duplicating-socket_address_equal.patch
new file mode 100644
index 0000000..d89f105
--- /dev/null
+++ b/0032-shared-avoid-semi-duplicating-socket_address_equal.patch
@@ -0,0 +1,42 @@
+From 1d23a6c379b429aaf257994d549a93d766b4cce0 Mon Sep 17 00:00:00 2001
+From: Michal Schmidt <mschmidt at redhat.com>
+Date: Fri, 20 Feb 2015 02:13:03 +0100
+Subject: [PATCH] shared: avoid semi-duplicating socket_address_equal()
+
+Just call socket_address_equal() from socket_address_matches_fd()
+instead of implementing similar comparing of addresses.
+
+(cherry picked from commit 02233928a502e46fc125118dba7234ba3e48dc15)
+---
+ src/shared/socket-util.c | 18 +-----------------
+ 1 file changed, 1 insertion(+), 17 deletions(-)
+
+diff --git a/src/shared/socket-util.c b/src/shared/socket-util.c
+index c31f60ec7e..deecce8a80 100644
+--- a/src/shared/socket-util.c
++++ b/src/shared/socket-util.c
+@@ -464,23 +464,7 @@ bool socket_address_matches_fd(const SocketAddress *a, int fd) {
+ return false;
+ }
+
+- switch (b.sockaddr.sa.sa_family) {
+-
+- case AF_INET:
+- return b.sockaddr.in.sin_port == a->sockaddr.in.sin_port &&
+- b.sockaddr.in.sin_addr.s_addr == a->sockaddr.in.sin_addr.s_addr;
+-
+- case AF_INET6:
+- return b.sockaddr.in6.sin6_port == a->sockaddr.in6.sin6_port &&
+- memcmp(&b.sockaddr.in6.sin6_addr, &a->sockaddr.in6.sin6_addr, sizeof(struct in6_addr)) == 0;
+-
+- case AF_UNIX:
+- return b.sockaddr.size == a->size &&
+- memcmp(b.sockaddr.un.sun_path, a->sockaddr.un.sun_path, b.size - offsetof(struct sockaddr_un, sun_path)) == 0;
+-
+- }
+-
+- return false;
++ return socket_address_equal(a, &b);
+ }
+
+ int sockaddr_pretty(const struct sockaddr *_sa, socklen_t salen, bool translate_ipv6, char **ret) {
diff --git a/0033-shared-handle-unnamed-sockets-in-socket_address_equa.patch b/0033-shared-handle-unnamed-sockets-in-socket_address_equa.patch
new file mode 100644
index 0000000..8b63403
--- /dev/null
+++ b/0033-shared-handle-unnamed-sockets-in-socket_address_equa.patch
@@ -0,0 +1,29 @@
+From 04691e6f814b76ea497d8189b9b77d4c0feff794 Mon Sep 17 00:00:00 2001
+From: Michal Schmidt <mschmidt at redhat.com>
+Date: Fri, 20 Feb 2015 02:25:16 +0100
+Subject: [PATCH] shared: handle unnamed sockets in socket_address_equal()
+
+Make sure we don't inspect sun_path of unnamed sockets.
+Since we cannot know if two unnamed sockets' adresses refer to the same
+socket, just return false.
+
+(cherry picked from commit 710708a54ccc48e168ad7d4cd401645ef9e2eb14)
+---
+ src/shared/socket-util.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/shared/socket-util.c b/src/shared/socket-util.c
+index deecce8a80..a4e26b1d8c 100644
+--- a/src/shared/socket-util.c
++++ b/src/shared/socket-util.c
+@@ -349,6 +349,10 @@ bool socket_address_equal(const SocketAddress *a, const SocketAddress *b) {
+ break;
+
+ case AF_UNIX:
++ if (a->size <= offsetof(struct sockaddr_un, sun_path) ||
++ b->size <= offsetof(struct sockaddr_un, sun_path))
++ return false;
++
+ if ((a->sockaddr.un.sun_path[0] == 0) != (b->sockaddr.un.sun_path[0] == 0))
+ return false;
+
diff --git a/0034-man-make-bootup-graph-consistent.patch b/0034-man-make-bootup-graph-consistent.patch
new file mode 100644
index 0000000..7e4b3c5
--- /dev/null
+++ b/0034-man-make-bootup-graph-consistent.patch
@@ -0,0 +1,23 @@
+From 1295853b39d330c6e7c6ea431a8fc7ce8be801b3 Mon Sep 17 00:00:00 2001
+From: Chris Morin <chris.morin2 at gmail.com>
+Date: Wed, 4 Feb 2015 14:54:34 -0500
+Subject: [PATCH] man: make bootup graph consistent
+
+(cherry picked from commit b44787bd437f4051660272b37bd6f75392f17931)
+---
+ man/bootup.xml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/man/bootup.xml b/man/bootup.xml
+index d97d550236..b92057af29 100644
+--- a/man/bootup.xml
++++ b/man/bootup.xml
+@@ -134,7 +134,7 @@
+ v v | v <emphasis>rescue.target</emphasis>
+ timers.target paths.target | sockets.target
+ | | | |
+- v |_________________ | ___________________/
++ v \_________________ | ___________________/
+ \|/
+ v
+ basic.target
diff --git a/0035-nspawn-fix-whitespace-and-typo-in-partition-table-bl.patch b/0035-nspawn-fix-whitespace-and-typo-in-partition-table-bl.patch
new file mode 100644
index 0000000..f738f52
--- /dev/null
+++ b/0035-nspawn-fix-whitespace-and-typo-in-partition-table-bl.patch
@@ -0,0 +1,23 @@
+From 8b92bdb0bd91a1614c0132dc31a35ee6193c26da Mon Sep 17 00:00:00 2001
+From: Jan Synacek <jsynacek at redhat.com>
+Date: Mon, 23 Feb 2015 15:22:40 +0100
+Subject: [PATCH] nspawn: fix whitespace and typo in partition table blurb
+
+(cherry picked from commit 4aab5d0cbd979b2cccb88534f118bceaa86466d8)
+---
+ src/nspawn/nspawn.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
+index fb672510b4..7724df96bd 100644
+--- a/src/nspawn/nspawn.c
++++ b/src/nspawn/nspawn.c
+@@ -2676,7 +2676,7 @@ static int setup_image(char **device_path, int *loop_nr) {
+
+ #define PARTITION_TABLE_BLURB \
+ "Note that the disk image needs to either contain only a single MBR partition of\n" \
+- "type 0x83 that is marked bootable, or a sinlge GPT partition of type" \
++ "type 0x83 that is marked bootable, or a single GPT partition of type " \
+ "0FC63DAF-8483-4772-8E79-3D69D8477DE4 or follow\n" \
+ " http://www.freedesktop.org/wiki/Specifications/DiscoverablePartitionsSpec/\n" \
+ "to be bootable with systemd-nspawn."
diff --git a/0036-man-explain-time-units-in-tmpfiles.patch b/0036-man-explain-time-units-in-tmpfiles.patch
new file mode 100644
index 0000000..cdc9a41
--- /dev/null
+++ b/0036-man-explain-time-units-in-tmpfiles.patch
@@ -0,0 +1,53 @@
+From 9b09a6df372e9eec7296c42239c8eef8f6edbdc8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek at in.waw.pl>
+Date: Mon, 23 Feb 2015 18:59:17 -0500
+Subject: [PATCH] man: explain time units in tmpfiles
+
+https://bugzilla.redhat.com/show_bug.cgi?id=1195294
+(cherry picked from commit 00c53f4283ca41878a84b370840a84760b00d46e)
+---
+ man/tmpfiles.d.xml | 29 ++++++++++++++---------------
+ 1 file changed, 14 insertions(+), 15 deletions(-)
+
+diff --git a/man/tmpfiles.d.xml b/man/tmpfiles.d.xml
+index 8815bf9970..4bd0fcf751 100644
+--- a/man/tmpfiles.d.xml
++++ b/man/tmpfiles.d.xml
+@@ -443,23 +443,22 @@
+ delete when cleaning. If a file or directory is older than the
+ current time minus the age field, it is deleted. The field
+ format is a series of integers each followed by one of the
+- following postfixes for the respective time units:</para>
+-
+- <variablelist>
+- <varlistentry>
+- <term><varname>s</varname></term>
+- <term><varname>min</varname></term>
+- <term><varname>h</varname></term>
+- <term><varname>d</varname></term>
+- <term><varname>w</varname></term>
+- <term><varname>ms</varname></term>
+- <term><varname>m</varname></term>
+- <term><varname>us</varname></term></varlistentry>
+- </variablelist>
++ following postfixes for the respective time units:
++ <constant>s</constant>,
++ <constant>m</constant> or <constant>min</constant>,
++ <constant>h</constant>,
++ <constant>d</constant>,
++ <constant>w</constant>,
++ <constant>ms</constant>,
++ <constant>us</constant>,
++ respectively meaning seconds, minutes, hours, days, weeks,
++ milliseconds, and microseconds. Full names of the time units can
++ be used too.
++ </para>
+
+ <para>If multiple integers and units are specified, the time
+- values are summed up. If an integer is given without a unit,
+- <varname>s</varname> is assumed.
++ values are summed. If an integer is given without a unit,
++ <constant>s</constant> is assumed.
+ </para>
+
+ <para>When the age is set to zero, the files are cleaned
diff --git a/0037-systemctl-check-validity-of-PID-we-received.patch b/0037-systemctl-check-validity-of-PID-we-received.patch
new file mode 100644
index 0000000..7ae89c3
--- /dev/null
+++ b/0037-systemctl-check-validity-of-PID-we-received.patch
@@ -0,0 +1,33 @@
+From 33ff9ced04684fe88e988fe06573ad73c8d9c20a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek at in.waw.pl>
+Date: Sat, 7 Feb 2015 11:16:04 -0500
+Subject: [PATCH] systemctl: check validity of PID we received
+
+(cherry picked from commit d028e01814a405e83c400c60545785d35dba2a17)
+---
+ src/systemctl/systemctl.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c
+index 6b93ec8446..3da4d3d4f1 100644
+--- a/src/systemctl/systemctl.c
++++ b/src/systemctl/systemctl.c
+@@ -2881,6 +2881,9 @@ static int check_inhibitors(sd_bus *bus, enum action a) {
+ if (!sv)
+ return log_oom();
+
++ if ((pid_t) pid < 0)
++ return log_error_errno(ERANGE, "Bad PID %"PRIu32": %m", pid);
++
+ if (!strv_contains(sv,
+ a == ACTION_HALT ||
+ a == ACTION_POWEROFF ||
+@@ -2892,7 +2895,7 @@ static int check_inhibitors(sd_bus *bus, enum action a) {
+ user = uid_to_name(uid);
+
+ log_warning("Operation inhibited by \"%s\" (PID "PID_FMT" \"%s\", user %s), reason is \"%s\".",
+- who, pid, strna(comm), strna(user), why);
++ who, (pid_t) pid, strna(comm), strna(user), why);
+
+ c++;
+ }
diff --git a/0038-systemctl-support-auditd.service-better.patch b/0038-systemctl-support-auditd.service-better.patch
new file mode 100644
index 0000000..8e6c1de
--- /dev/null
+++ b/0038-systemctl-support-auditd.service-better.patch
@@ -0,0 +1,85 @@
+From bddb25b6d9f5b1cf7f7219b3f23e3668f9563d6e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek at in.waw.pl>
+Date: Sat, 7 Feb 2015 11:35:37 -0500
+Subject: [PATCH] systemctl: support auditd.service better
+
+We would print the filename header before trying to open the file. But since
+the header was printed to stdout, and the error to stderr, the error would appear
+on the terminal before the header. It is cleaner to open the file first, then
+and only then print the header.
+
+Also exit on first error. We shouldn't report success if we were unable to open
+a file.
+
+(cherry picked from commit 8527b07be1c5211b50a1a6496585952857a25c73)
+---
+ src/systemctl/systemctl.c | 46 +++++++++++++++++++++++-----------------------
+ 1 file changed, 23 insertions(+), 23 deletions(-)
+
+diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c
+index 3da4d3d4f1..4ec0cff21d 100644
+--- a/src/systemctl/systemctl.c
++++ b/src/systemctl/systemctl.c
+@@ -4555,6 +4555,23 @@ static int init_home_and_lookup_paths(char **user_home, char **user_runtime, Loo
+ return 0;
+ }
+
++static int cat_file(const char *filename, bool newline) {
++ _cleanup_close_ int fd;
++
++ fd = open(filename, O_RDONLY|O_CLOEXEC|O_NOCTTY);
++ if (fd < 0)
++ return -errno;
++
++ printf("%s%s# %s%s\n",
++ newline ? "\n" : "",
++ ansi_highlight_blue(),
++ filename,
++ ansi_highlight_off());
++ fflush(stdout);
++
++ return copy_bytes(fd, STDOUT_FILENO, (off_t) -1, false);
++}
++
+ static int cat(sd_bus *bus, char **args) {
+ _cleanup_free_ char *user_home = NULL;
+ _cleanup_free_ char *user_runtime = NULL;
+@@ -4600,32 +4617,15 @@ static int cat(sd_bus *bus, char **args) {
+ puts("");
+
+ if (fragment_path) {
+- printf("%s# %s%s\n",
+- ansi_highlight_blue(),
+- fragment_path,
+- ansi_highlight_off());
+- fflush(stdout);
+-
+- r = copy_file_fd(fragment_path, STDOUT_FILENO, false);
+- if (r < 0) {
+- log_warning_errno(r, "Failed to cat %s: %m", fragment_path);
+- continue;
+- }
++ r = cat_file(fragment_path, false);
++ if (r < 0)
++ return log_warning_errno(r, "Failed to cat %s: %m", fragment_path);
+ }
+
+ STRV_FOREACH(path, dropin_paths) {
+- printf("%s%s# %s%s\n",
+- isempty(fragment_path) && path == dropin_paths ? "" : "\n",
+- ansi_highlight_blue(),
+- *path,
+- ansi_highlight_off());
+- fflush(stdout);
+-
+- r = copy_file_fd(*path, STDOUT_FILENO, false);
+- if (r < 0) {
+- log_warning_errno(r, "Failed to cat %s: %m", *path);
+- continue;
+- }
++ r = cat_file(*path, path == dropin_paths);
++ if (r < 0)
++ return log_warning_errno(r, "Failed to cat %s: %m", *path);
+ }
+ }
+
diff --git a/0039-shared-unit-name-fix-gcc5-warning.patch b/0039-shared-unit-name-fix-gcc5-warning.patch
new file mode 100644
index 0000000..6498a89
--- /dev/null
+++ b/0039-shared-unit-name-fix-gcc5-warning.patch
@@ -0,0 +1,31 @@
+From c52febcc0314c85d5a0cefc95d7f9ee0d7eb7081 Mon Sep 17 00:00:00 2001
+From: Daniel Mack <daniel at zonque.org>
+Date: Tue, 24 Feb 2015 16:18:43 +0100
+Subject: [PATCH] shared/unit-name: fix gcc5 warning
+
+Fix the following gcc5 warning:
+
+ CC src/shared/libsystemd_shared_la-unit-name.lo
+src/shared/unit-name.c: In function 'unit_name_is_valid':
+src/shared/unit-name.c:102:34: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
+ if (!template_ok == TEMPLATE_VALID && at+1 == e)
+ ^
+
+(cherry picked from commit f9bf3e260c480f7b660bec3f78a13f52a46ec34d)
+---
+ src/shared/unit-name.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/shared/unit-name.c b/src/shared/unit-name.c
+index 21b66913c9..f728af4a81 100644
+--- a/src/shared/unit-name.c
++++ b/src/shared/unit-name.c
+@@ -100,7 +100,7 @@ bool unit_name_is_valid(const char *n, enum template_valid template_ok) {
+ if (at == n)
+ return false;
+
+- if (!template_ok == TEMPLATE_VALID && at+1 == e)
++ if (template_ok != TEMPLATE_VALID && at+1 == e)
+ return false;
+ }
+
diff --git a/0040-test-hashmap-fix-gcc5-warning.patch b/0040-test-hashmap-fix-gcc5-warning.patch
new file mode 100644
index 0000000..a6c2019
--- /dev/null
+++ b/0040-test-hashmap-fix-gcc5-warning.patch
@@ -0,0 +1,32 @@
+From 6af0a4ba45b63072df70ca4d6a8fc5790c66e149 Mon Sep 17 00:00:00 2001
+From: Daniel Mack <daniel at zonque.org>
+Date: Tue, 24 Feb 2015 16:24:14 +0100
+Subject: [PATCH] test-hashmap: fix gcc5 warning
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+gcc5 spits out a warning about test-hashmap.c:
+
+ CC src/test/test-hashmap.o
+src/test/test-hashmap.c: In function ‘test_string_compare_func’:
+src/test/test-hashmap.c:76:79: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
+
+(cherry picked from commit 4b3eff61640672bf0b19cb8cdd88ce5e84dcda1c)
+---
+ src/test/test-hashmap.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/test/test-hashmap.c b/src/test/test-hashmap.c
+index 6900da9e89..351563b967 100644
+--- a/src/test/test-hashmap.c
++++ b/src/test/test-hashmap.c
+@@ -75,7 +75,7 @@ static void test_trivial_compare_func(void) {
+ }
+
+ static void test_string_compare_func(void) {
+- assert_se(!string_compare_func("fred", "wilma") == 0);
++ assert_se(string_compare_func("fred", "wilma") != 0);
+ assert_se(string_compare_func("fred", "fred") == 0);
+ }
+
diff --git a/0041-shared-fix-wrong-assertion-in-barrier_set_role.patch b/0041-shared-fix-wrong-assertion-in-barrier_set_role.patch
new file mode 100644
index 0000000..69e63da
--- /dev/null
+++ b/0041-shared-fix-wrong-assertion-in-barrier_set_role.patch
@@ -0,0 +1,29 @@
+From cf0e4940eadeb4636a958e8d7bc243dd03120eb8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= <crrodriguez at opensuse.org>
+Date: Fri, 20 Feb 2015 15:14:56 -0300
+Subject: [PATCH] shared: fix wrong assertion in barrier_set_role()
+
+ assert(b->pipe[0] >= 0 && b->pipe[0] >= 0);
+
+Test the same condition twice, pretty sure we mean
+
+ assert(b->pipe[0] >= 0 && b->pipe[1] >= 0);
+
+(cherry picked from commit 3f7f1fad7621f584d9ce024abb313ecbc9bd0e62)
+---
+ src/shared/barrier.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/shared/barrier.c b/src/shared/barrier.c
+index f65363a67b..b7dca75097 100644
+--- a/src/shared/barrier.c
++++ b/src/shared/barrier.c
+@@ -178,7 +178,7 @@ void barrier_set_role(Barrier *b, unsigned int role) {
+ assert(b);
+ assert(role == BARRIER_PARENT || role == BARRIER_CHILD);
+ /* make sure this is only called once */
+- assert(b->pipe[1] >= 0 && b->pipe[1] >= 0);
++ assert(b->pipe[0] >= 0 && b->pipe[1] >= 0);
+
+ if (role == BARRIER_PARENT)
+ b->pipe[1] = safe_close(b->pipe[1]);
diff --git a/0042-hwdb-Update-database-of-Bluetooth-company-identifier.patch b/0042-hwdb-Update-database-of-Bluetooth-company-identifier.patch
new file mode 100644
index 0000000..0ac85f6
--- /dev/null
+++ b/0042-hwdb-Update-database-of-Bluetooth-company-identifier.patch
@@ -0,0 +1,60 @@
+From d150bc380c90b7ec9fda50f0124e75b12e489ef1 Mon Sep 17 00:00:00 2001
+From: Marcel Holtmann <marcel at holtmann.org>
+Date: Wed, 25 Feb 2015 07:27:49 +0100
+Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers
+
+(cherry picked from commit 3cabeab1197d3e45f16f514f5a396e0fb311e867)
+---
+ hwdb/20-bluetooth-vendor-product.hwdb | 42 +++++++++++++++++++++++++++++++++++
+ 1 file changed, 42 insertions(+)
+
+diff --git a/hwdb/20-bluetooth-vendor-product.hwdb b/hwdb/20-bluetooth-vendor-product.hwdb
+index fb789fd495..4fd951a584 100644
+--- a/hwdb/20-bluetooth-vendor-product.hwdb
++++ b/hwdb/20-bluetooth-vendor-product.hwdb
+@@ -1430,3 +1430,45 @@ bluetooth:v01D9*
+
+ bluetooth:v01DA*
+ ID_VENDOR_FROM_DATABASE=Logitech International SA
++
++bluetooth:v01DB*
++ ID_VENDOR_FROM_DATABASE=Innblue Consulting
++
++bluetooth:v01DC*
++ ID_VENDOR_FROM_DATABASE=iParking Ltd.
++
++bluetooth:v01DD*
++ ID_VENDOR_FROM_DATABASE=Koninklijke Philips Electronics N.V.
++
++bluetooth:v01DE*
++ ID_VENDOR_FROM_DATABASE=Minelab Electronics Pty Limited
++
++bluetooth:v01DF*
++ ID_VENDOR_FROM_DATABASE=Bison Group Ltd.
++
++bluetooth:v01E0*
++ ID_VENDOR_FROM_DATABASE=Widex A/S
++
++bluetooth:v01E1*
++ ID_VENDOR_FROM_DATABASE=Jolla Ltd
++
++bluetooth:v01E2*
++ ID_VENDOR_FROM_DATABASE=Lectronix, Inc.
++
++bluetooth:v01E3*
++ ID_VENDOR_FROM_DATABASE=Caterpillar Inc
++
++bluetooth:v01E4*
++ ID_VENDOR_FROM_DATABASE=Freedom Innovations
++
++bluetooth:v01E5*
++ ID_VENDOR_FROM_DATABASE=Dynamic Devices Ltd
++
++bluetooth:v01E6*
++ ID_VENDOR_FROM_DATABASE=Technology Solutions (UK) Ltd
++
++bluetooth:v01E7*
++ ID_VENDOR_FROM_DATABASE=IPS Group Inc.
++
++bluetooth:v01E8*
++ ID_VENDOR_FROM_DATABASE=STIR
diff --git a/0043-journal-make-skipping-of-exhausted-journal-files-eff.patch b/0043-journal-make-skipping-of-exhausted-journal-files-eff.patch
new file mode 100644
index 0000000..bf4bc28
--- /dev/null
+++ b/0043-journal-make-skipping-of-exhausted-journal-files-eff.patch
@@ -0,0 +1,114 @@
+From 55c5c56d07d4e1d402ee33dbcf4a04aa20c4279c Mon Sep 17 00:00:00 2001
+From: Michal Schmidt <mschmidt at redhat.com>
+Date: Tue, 24 Feb 2015 19:45:17 +0100
+Subject: [PATCH] journal: make skipping of exhausted journal files effective
+ again
+
+Commit 668c965af "journal: skipping of exhausted journal files is bad if
+direction changed" fixed a correctness issue, but it also significantly
+limited the cases where the optimization that skips exhausted journal
+files could apply.
+As a result, some journalctl queries are much slower in v219 than in v218.
+(e.g. queries where a "--since" cutoff should have quickly eliminated
+older journal files from consideration, but didn't.)
+
+If already in the initial iteration find_location_with_matches() finds
+no entry, the journal file's location is not updated. This is fine,
+except that:
+ - We must update at least f->last_direction. The optimization relies on
+ it. Let's separate that from journal_file_save_location() and update
+ it immediately after the direction checks.
+ - The optimization was conditional on "f->current_offset > 0", but it
+ would always be 0 in this scenario. This check is unnecessary for the
+ optimization.
+
+(cherry picked from commit 950c07d421c04e5aae99973479f4f13131fb45e1)
+---
+ src/journal/journal-file.c | 3 +--
+ src/journal/journal-file.h | 2 +-
+ src/journal/sd-journal.c | 24 +++++++++++++++---------
+ 3 files changed, 17 insertions(+), 12 deletions(-)
+
+diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c
+index 0f28718b0e..24c49b916a 100644
+--- a/src/journal/journal-file.c
++++ b/src/journal/journal-file.c
+@@ -2014,8 +2014,7 @@ void journal_file_reset_location(JournalFile *f) {
+ f->current_xor_hash = 0;
+ }
+
+-void journal_file_save_location(JournalFile *f, direction_t direction, Object *o, uint64_t offset) {
+- f->last_direction = direction;
++void journal_file_save_location(JournalFile *f, Object *o, uint64_t offset) {
+ f->location_type = LOCATION_SEEK;
+ f->current_offset = offset;
+ f->current_seqnum = le64toh(o->entry.seqnum);
+diff --git a/src/journal/journal-file.h b/src/journal/journal-file.h
+index 2526e14d65..403c8f760c 100644
+--- a/src/journal/journal-file.h
++++ b/src/journal/journal-file.h
+@@ -199,7 +199,7 @@ int journal_file_find_field_object(JournalFile *f, const void *field, uint64_t s
+ int journal_file_find_field_object_with_hash(JournalFile *f, const void *field, uint64_t size, uint64_t hash, Object **ret, uint64_t *offset);
+
+ void journal_file_reset_location(JournalFile *f);
+-void journal_file_save_location(JournalFile *f, direction_t direction, Object *o, uint64_t offset);
++void journal_file_save_location(JournalFile *f, Object *o, uint64_t offset);
+ int journal_file_compare_locations(JournalFile *af, JournalFile *bf);
+ int journal_file_next_entry(JournalFile *f, uint64_t p, direction_t direction, Object **ret, uint64_t *offset);
+
+diff --git a/src/journal/sd-journal.c b/src/journal/sd-journal.c
+index 94891cdf35..9b57e5945d 100644
+--- a/src/journal/sd-journal.c
++++ b/src/journal/sd-journal.c
+@@ -723,13 +723,17 @@ static int next_beyond_location(sd_journal *j, JournalFile *f, direction_t direc
+ assert(j);
+ assert(f);
+
+- if (f->last_direction == direction && f->current_offset > 0) {
+- /* If we hit EOF before, recheck if any new entries arrived. */
+- n_entries = le64toh(f->header->n_entries);
+- if (f->location_type == LOCATION_TAIL && n_entries == f->last_n_entries)
+- return 0;
+- f->last_n_entries = n_entries;
++ n_entries = le64toh(f->header->n_entries);
++
++ /* If we hit EOF before, we don't need to look into this file again
++ * unless direction changed or new entries appeared. */
++ if (f->last_direction == direction && f->location_type == LOCATION_TAIL &&
++ n_entries == f->last_n_entries)
++ return 0;
+
++ f->last_n_entries = n_entries;
++
++ if (f->last_direction == direction && f->current_offset > 0) {
+ /* LOCATION_SEEK here means we did the work in a previous
+ * iteration and the current location already points to a
+ * candidate entry. */
+@@ -738,14 +742,16 @@ static int next_beyond_location(sd_journal *j, JournalFile *f, direction_t direc
+ if (r <= 0)
+ return r;
+
+- journal_file_save_location(f, direction, c, cp);
++ journal_file_save_location(f, c, cp);
+ }
+ } else {
++ f->last_direction = direction;
++
+ r = find_location_with_matches(j, f, direction, &c, &cp);
+ if (r <= 0)
+ return r;
+
+- journal_file_save_location(f, direction, c, cp);
++ journal_file_save_location(f, c, cp);
+ }
+
+ /* OK, we found the spot, now let's advance until an entry
+@@ -773,7 +779,7 @@ static int next_beyond_location(sd_journal *j, JournalFile *f, direction_t direc
+ if (r <= 0)
+ return r;
+
+- journal_file_save_location(f, direction, c, cp);
++ journal_file_save_location(f, c, cp);
+ }
+ }
+
diff --git a/0044-hwdb-add-sdio-identifiers-for-Broadcom-WLAN-cards.patch b/0044-hwdb-add-sdio-identifiers-for-Broadcom-WLAN-cards.patch
new file mode 100644
index 0000000..900c624
--- /dev/null
+++ b/0044-hwdb-add-sdio-identifiers-for-Broadcom-WLAN-cards.patch
@@ -0,0 +1,34 @@
+From c10e229f8222b92117ba38045ddb3e4d7951244a Mon Sep 17 00:00:00 2001
+From: Arend van Spriel <arend at broadcom.com>
+Date: Wed, 25 Feb 2015 11:02:39 +0100
+Subject: [PATCH] hwdb: add sdio identifiers for Broadcom WLAN cards
+
+This patch adds the sdio identifiers known to be supported by
+the brcmfmac open-source driver.
+
+(cherry picked from commit 0c591b6c92ded66bea5ed615796b0f8c1cd6b422)
+---
+ hwdb/sdio.ids | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/hwdb/sdio.ids b/hwdb/sdio.ids
+index 8a4c7136d2..d61729744e 100644
+--- a/hwdb/sdio.ids
++++ b/hwdb/sdio.ids
+@@ -34,6 +34,16 @@
+ 5347 GDM72xx WiMAX
+ 02d0 Broadcom Corp.
+ 044b Nintendo Wii WLAN daughter card
++ a887 BCM43143 WLAN card
++ 4324 BCM43241 WLAN card
++ 4329 BCM4329 WLAN card
++ 4330 BCM4330 WLAN card
++ 4334 BCM4334 WLAN card
++ a94c BCM43340 WLAN card
++ a94d BCM43341 WLAN card
++ 4335 BCM4335/BCM4339 WLAN card
++ a962 BCM43362 WLAN card
++ 4354 BCM4354 WLAN card
+ 02db SyChip Inc.
+ 0002 Pegasus WLAN SDIO Card (6060SD)
+ 02df Marvell Technology Group Ltd.
diff --git a/0045-shared-condition-fix-gcc5-warning.patch b/0045-shared-condition-fix-gcc5-warning.patch
new file mode 100644
index 0000000..ec6caaa
--- /dev/null
+++ b/0045-shared-condition-fix-gcc5-warning.patch
@@ -0,0 +1,42 @@
+From 99ed674eb8f9bdaa45d937379c2f00ea684a7fc9 Mon Sep 17 00:00:00 2001
+From: Daniel Mack <daniel at zonque.org>
+Date: Fri, 27 Feb 2015 20:05:26 +0100
+Subject: [PATCH] shared/condition: fix gcc5 warning
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Fixes the warning below.
+
+src/shared/condition.c: In function ‘condition_new’:
+src/shared/condition.c:47:27: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
+ assert(!parameter == (type == CONDITION_NULL));
+ ^
+src/shared/macro.h:42:44: note: in definition of macro ‘_unlikely_’
+ #define _unlikely_(x) (__builtin_expect(!!(x),0))
+ ^
+src/shared/macro.h:226:22: note: in expansion of macro ‘assert_se’
+ #define assert(expr) assert_se(expr)
+ ^
+src/shared/condition.c:47:9: note: in expansion of macro ‘assert’
+ assert(!parameter == (type == CONDITION_NULL));
+ ^
+
+(cherry picked from commit 8a9c6071cb7467170010f0287672c987981bdf9c)
+---
+ src/shared/condition.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/shared/condition.c b/src/shared/condition.c
+index da7560f05f..796cc520d7 100644
+--- a/src/shared/condition.c
++++ b/src/shared/condition.c
+@@ -46,7 +46,7 @@ Condition* condition_new(ConditionType type, const char *parameter, bool trigger
+
+ assert(type >= 0);
+ assert(type < _CONDITION_TYPE_MAX);
+- assert(!parameter == (type == CONDITION_NULL));
++ assert((!parameter) == (type == CONDITION_NULL));
+
+ c = new0(Condition, 1);
+ if (!c)
diff --git a/0046-man-correct-description-of-systemd-user-sessions.patch b/0046-man-correct-description-of-systemd-user-sessions.patch
new file mode 100644
index 0000000..8ec2fc4
--- /dev/null
+++ b/0046-man-correct-description-of-systemd-user-sessions.patch
@@ -0,0 +1,34 @@
+From dd416d4c05eb40bc80380978779cfbc67fab7d35 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek at in.waw.pl>
+Date: Fri, 27 Feb 2015 17:26:42 -0500
+Subject: [PATCH] man: correct description of systemd-user-sessions
+
+That part of functionality was removed in 7fb3ee51c1b377.
+
+(cherry picked from commit 3849a2ac8198fedd25e66fe780821fa96eb6396d)
+---
+ man/systemd-user-sessions.service.xml | 9 ++++-----
+ 1 file changed, 4 insertions(+), 5 deletions(-)
+
+diff --git a/man/systemd-user-sessions.service.xml b/man/systemd-user-sessions.service.xml
+index 9d796b1ae1..e75ef11c4e 100644
+--- a/man/systemd-user-sessions.service.xml
++++ b/man/systemd-user-sessions.service.xml
+@@ -55,13 +55,12 @@
+ <title>Description</title>
+
+ <para><filename>systemd-user-sessions.service</filename> is a
+- service that controls user logins. After basic system
+- initialization is complete it removes
++ service that controls user logins through
++ <citerefentry project='man-pages'><refentrytitle>pam_nologin</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
++ After basic system initialization is complete it removes
+ <filename>/run/nologin</filename>, thus permitting logins. Before
+ system shutdown it creates <filename>/run/nologin</filename>, thus
+- prohibiting further logins. At the same time it also kills all
+- user processes, so that system shutdown may proceed without any
+- remaining user processes around.</para>
++ prohibiting further logins.</para>
+ </refsect1>
+
+ <refsect1>
diff --git a/0047-build-sys-allow-lto-and-FORTIFY_SOURCE-with-O-sz.patch b/0047-build-sys-allow-lto-and-FORTIFY_SOURCE-with-O-sz.patch
new file mode 100644
index 0000000..bf0b629
--- /dev/null
+++ b/0047-build-sys-allow-lto-and-FORTIFY_SOURCE-with-O-sz.patch
@@ -0,0 +1,31 @@
+From 86d07870ff23fb3a0d13760d31ff23409ef19523 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek at in.waw.pl>
+Date: Sun, 1 Mar 2015 22:46:43 -0500
+Subject: [PATCH] build-sys: allow lto and FORTIFY_SOURCE with -O[sz]
+
+https://bugs.freedesktop.org/show_bug.cgi?id=89382
+(cherry picked from commit 0289f2fb2a64df53b589b771f69c43126b029590)
+---
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 97a29d63fd..6bc347423b 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -208,13 +208,13 @@ 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])],
+ [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\ ]]*],
+ [CC_CHECK_FLAGS_APPEND([with_cppflags], [CPPFLAGS], [\
+ -Wp,-D_FORTIFY_SOURCE=2])],
+ [AC_MSG_RESULT([skipping -D_FORTIFY_SOURCE, optimization not enabled])])
diff --git a/0048-man-fix-typo.patch b/0048-man-fix-typo.patch
new file mode 100644
index 0000000..0781faf
--- /dev/null
+++ b/0048-man-fix-typo.patch
@@ -0,0 +1,23 @@
+From 33ffe19b7c01fc1f4d32c629d4c6462776d84644 Mon Sep 17 00:00:00 2001
+From: Lennart Poettering <lennart at poettering.net>
+Date: Tue, 3 Mar 2015 00:11:51 +0100
+Subject: [PATCH] man: fix typo
+
+(cherry picked from commit a68188812290cb9ec9f3f8a17b65e64549a4fd65)
+---
+ man/systemd.netdev.xml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/man/systemd.netdev.xml b/man/systemd.netdev.xml
+index 4480e1999d..ef58887dc8 100644
+--- a/man/systemd.netdev.xml
++++ b/man/systemd.netdev.xml
+@@ -108,7 +108,7 @@
+ <entry>A bond device is an aggregation of all its slave devices. See <ulink url="https://www.kernel.org/doc/Documentation/networking/bonding.txt">Linux Ethernet Bonding Driver HOWTO</ulink> for details.Local configuration</entry></row>
+
+ <row><entry><varname>bridge</varname></entry>
+- <entry>A bridge devcie is a software switch, each of its slave devices and the bridge itself are ports of the switch.</entry></row>
++ <entry>A bridge device is a software switch, each of its slave devices and the bridge itself are ports of the switch.</entry></row>
+
+ <row><entry><varname>dummy</varname></entry>
+ <entry>A dummy device drops all packets sent to it.</entry></row>
diff --git a/0049-bus-proxyd-avoid-logging-oom-twice.patch b/0049-bus-proxyd-avoid-logging-oom-twice.patch
new file mode 100644
index 0000000..ed3e1c9
--- /dev/null
+++ b/0049-bus-proxyd-avoid-logging-oom-twice.patch
@@ -0,0 +1,23 @@
+From f0637f329a5da0680cd7ef79cc05ecdaa0194d82 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek at in.waw.pl>
+Date: Tue, 3 Mar 2015 00:05:14 -0500
+Subject: [PATCH] bus-proxyd: avoid logging oom twice
+
+(cherry picked from commit c29005212dc38d98c707639d1a82ffa5270f2e97)
+---
+ src/bus-proxyd/bus-proxyd.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/bus-proxyd/bus-proxyd.c b/src/bus-proxyd/bus-proxyd.c
+index b6b0056362..b6550ed3cf 100644
+--- a/src/bus-proxyd/bus-proxyd.c
++++ b/src/bus-proxyd/bus-proxyd.c
+@@ -82,7 +82,7 @@ static int client_context_new(ClientContext **out) {
+
+ c = new0(ClientContext, 1);
+ if (!c)
+- return log_oom();
++ return -ENOMEM;
+
+ c->fd = -1;
+
diff --git a/0050-Do-not-run-sysv-generator-test-when-sysv-compat-is-d.patch b/0050-Do-not-run-sysv-generator-test-when-sysv-compat-is-d.patch
new file mode 100644
index 0000000..6860b33
--- /dev/null
+++ b/0050-Do-not-run-sysv-generator-test-when-sysv-compat-is-d.patch
@@ -0,0 +1,29 @@
+From 7b95274e6adeec3b7bb44fd7cfe0a50902615151 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek at in.waw.pl>
+Date: Tue, 3 Mar 2015 10:36:47 -0500
+Subject: [PATCH] Do not run sysv-generator-test when sysv compat is disabled
+
+(cherry picked from commit dcf1369057231fbf09e37b5a48483763b4ae6e19)
+---
+ Makefile.am | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/Makefile.am b/Makefile.am
+index cc577ced48..aadaad2b8d 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -3786,9 +3786,14 @@ TESTS += \
+ if HAVE_PYTHON
+ TESTS += \
+ test/rule-syntax-check.py \
++ $(NULL)
++
++if HAVE_SYSV_COMPAT
++TESTS += \
+ test/sysv-generator-test.py \
+ $(NULL)
+ endif
++endif
+
+ manual_tests += \
+ test-libudev \
diff --git a/0051-README-mention-ACLs-more.patch b/0051-README-mention-ACLs-more.patch
new file mode 100644
index 0000000..135db6c
--- /dev/null
+++ b/0051-README-mention-ACLs-more.patch
@@ -0,0 +1,26 @@
+From 83a122de87bc2e5c01c083029d216da4241fe948 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek at in.waw.pl>
+Date: Tue, 3 Mar 2015 09:00:39 -0500
+Subject: [PATCH] README: mention ACLs more
+
+They are now useful for any fs used for journal storage.
+
+(cherry picked from commit a6cccd8f580fc1e062dba3895e232007acd38781)
+---
+ README | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/README b/README
+index c72209262e..aac255f7f1 100644
+--- a/README
++++ b/README
+@@ -77,8 +77,8 @@ REQUIREMENTS:
+ Optional but strongly recommended:
+ CONFIG_IPV6
+ CONFIG_AUTOFS4_FS
+- CONFIG_TMPFS_POSIX_ACL
+ CONFIG_TMPFS_XATTR
++ CONFIG_{TMPFS,EXT4,XFS,BTRFS_FS,...}_POSIX_ACL
+ CONFIG_SECCOMP
+
+ Required for CPUShares in resource control unit settings
diff --git a/0052-Do-not-advertise-.d-snippets-over-main-config-file.patch b/0052-Do-not-advertise-.d-snippets-over-main-config-file.patch
new file mode 100644
index 0000000..d82b8bc
--- /dev/null
+++ b/0052-Do-not-advertise-.d-snippets-over-main-config-file.patch
@@ -0,0 +1,333 @@
+From fdf1ec82999b343bedaeb48bca55f2dc53d2646d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek at in.waw.pl>
+Date: Tue, 3 Mar 2015 19:10:21 -0500
+Subject: [PATCH] Do not advertise .d snippets over main config file
+
+For daemons which have a main configuration file, there's
+little reason for the administrator to use configuration snippets.
+They are useful for packagers which need to override settings, but
+we shouldn't advertise that as the main way of configuring those
+services.
+
+https://bugs.freedesktop.org/show_bug.cgi?id=89397
+(cherry picked from commit e93549ef29c4123d9ee45acb5815048390201e49)
+---
+ man/bootchart.conf.xml | 3 +--
+ man/coredump.conf.xml | 3 +--
+ man/journald.conf.xml | 3 +--
+ man/logind.conf.xml | 8 +++++---
+ man/resolved.conf.xml | 3 +--
+ man/standard-conf.xml | 42 ++++++++++++++++++++++++++++++++++--------
+ man/systemd-sleep.conf.xml | 3 +--
+ man/systemd-system.conf.xml | 3 +--
+ man/timesyncd.conf.xml | 3 +--
+ src/bootchart/bootchart.conf | 7 ++++---
+ src/core/system.conf | 7 ++++---
+ src/journal/coredump.conf | 7 ++++---
+ src/journal/journald.conf | 7 ++++---
+ src/login/logind.conf | 7 ++++---
+ src/resolve/resolved.conf.in | 5 +++--
+ src/timesync/timesyncd.conf.in | 7 ++++---
+ 16 files changed, 73 insertions(+), 45 deletions(-)
+
+diff --git a/man/bootchart.conf.xml b/man/bootchart.conf.xml
+index 8d9700d300..bf6ca0bf9e 100644
+--- a/man/bootchart.conf.xml
++++ b/man/bootchart.conf.xml
+@@ -68,8 +68,7 @@
+ parameters and graph output.</para>
+ </refsect1>
+
+- <xi:include href="standard-conf.xml" xpointer="confd" />
+- <xi:include href="standard-conf.xml" xpointer="conf" />
++ <xi:include href="standard-conf.xml" xpointer="main-conf" />
+
+ <refsect1>
+ <title>Options</title>
+diff --git a/man/coredump.conf.xml b/man/coredump.conf.xml
+index 3d325e6ad7..0b7329bf55 100644
+--- a/man/coredump.conf.xml
++++ b/man/coredump.conf.xml
+@@ -63,8 +63,7 @@
+ a handler for core dumps invoked by the kernel.</para>
+ </refsect1>
+
+- <xi:include href="standard-conf.xml" xpointer="confd" />
+- <xi:include href="standard-conf.xml" xpointer="conf" />
++ <xi:include href="standard-conf.xml" xpointer="main-conf" />
+
+ <refsect1>
+ <title>Options</title>
+diff --git a/man/journald.conf.xml b/man/journald.conf.xml
+index 364b58f07e..85146b0d82 100644
+--- a/man/journald.conf.xml
++++ b/man/journald.conf.xml
+@@ -64,8 +64,7 @@
+
+ </refsect1>
+
+- <xi:include href="standard-conf.xml" xpointer="confd" />
+- <xi:include href="standard-conf.xml" xpointer="conf" />
++ <xi:include href="standard-conf.xml" xpointer="main-conf" />
+
+ <refsect1>
+ <title>Options</title>
+diff --git a/man/logind.conf.xml b/man/logind.conf.xml
+index ffaec50351..ca2b18783c 100644
+--- a/man/logind.conf.xml
++++ b/man/logind.conf.xml
+@@ -58,11 +58,13 @@
+ <refsect1>
+ <title>Description</title>
+
+- <para>These files configure various parameters of the systemd login manager, <citerefentry><refentrytitle>systemd-logind.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
++ <para>These files configure various parameters of the systemd
++ login manager,
++ <citerefentry><refentrytitle>systemd-logind.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
++ </para>
+ </refsect1>
+
+- <xi:include href="standard-conf.xml" xpointer="confd" />
+- <xi:include href="standard-conf.xml" xpointer="conf" />
++ <xi:include href="standard-conf.xml" xpointer="main-conf" />
+
+ <refsect1>
+ <title>Options</title>
+diff --git a/man/resolved.conf.xml b/man/resolved.conf.xml
+index 36cae2706c..8047a4ea75 100644
+--- a/man/resolved.conf.xml
++++ b/man/resolved.conf.xml
+@@ -63,8 +63,7 @@
+
+ </refsect1>
+
+- <xi:include href="standard-conf.xml" xpointer="confd" />
+- <xi:include href="standard-conf.xml" xpointer="conf" />
++ <xi:include href="standard-conf.xml" xpointer="main-conf" />
+
+ <refsect1>
+ <title>Options</title>
+diff --git a/man/standard-conf.xml b/man/standard-conf.xml
+index b87d7e955b..36af45927d 100644
+--- a/man/standard-conf.xml
++++ b/man/standard-conf.xml
+@@ -33,13 +33,39 @@
+ configuration file.</para>
+ </refsection>
+
+- <refsection id='conf'>
+- <title>Configuration File</title>
+-
+- <para>Configuration is also read from a single configuration file in
+- <filename>/etc/</filename>. This file is read before any of the
+- configuration directories, and has the lowest precedence; entries in a file
+- in any configuration directory override entries in the single configuration
+- file.</para>
++ <refsection id='main-conf'>
++ <title>Configuration Directories and Precedence</title>
++
++ <para>Default configuration is defined during compilation, so a
++ configuration file is only needed when it is necessary to deviate
++ from those defaults. By default the configuration file in
++ <filename>/etc/systemd/</filename> contains commented out entries
++ showing the defaults as a guide to the administrator. This file
++ can be edited to create local overrides.
++ </para>
++
++ <para>When packages need to customize the configuration, they can
++ install configuration snippets in
++ <filename>/usr/lib/systemd/*.conf.d/</filename>. Files in
++ <filename>/etc/</filename> are reserved for the local
++ administrator, who may use this logic to override the
++ configuration files installed by vendor packages. The main
++ configuration file is read before any of the configuration
++ directories, and has the lowest precedence; entries in a file in
++ any configuration directory override entries in the single
++ configuration file. Files in the
++ <filename>logind.conf.d/</filename> configuration subdirectories
++ are sorted by their filename in lexicographic order, regardless of
++ which of the subdirectories they reside in. If multiple files
++ specify the same option, the entry in the file with the
++ lexicographically latest name takes precedence. It is recommended
++ to prefix all filenames in those subdirectories with a two-digit
++ number and a dash, to simplify the ordering of the files.</para>
++
++ <para>To disable a configuration file supplied by the vendor, the
++ recommended way is to place a symlink to
++ <filename>/dev/null</filename> in the configuration directory in
++ <filename>/etc/</filename>, with the same filename as the vendor
++ configuration file.</para>
+ </refsection>
+ </refsection>
+diff --git a/man/systemd-sleep.conf.xml b/man/systemd-sleep.conf.xml
+index 433f2f83a0..bb17ec8669 100644
+--- a/man/systemd-sleep.conf.xml
++++ b/man/systemd-sleep.conf.xml
+@@ -112,8 +112,7 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+ attempts to suspend or hibernate the machine.</para>
+ </refsect1>
+
+- <xi:include href="standard-conf.xml" xpointer="confd" />
+- <xi:include href="standard-conf.xml" xpointer="conf" />
++ <xi:include href="standard-conf.xml" xpointer="main-conf" />
+
+ <refsect1>
+ <title>Options</title>
+diff --git a/man/systemd-system.conf.xml b/man/systemd-system.conf.xml
+index 7c3f237567..c7bcfaee4d 100644
+--- a/man/systemd-system.conf.xml
++++ b/man/systemd-system.conf.xml
+@@ -74,8 +74,7 @@
+ operations.</para>
+ </refsect1>
+
+- <xi:include href="standard-conf.xml" xpointer="confd" />
+- <xi:include href="standard-conf.xml" xpointer="conf" />
++ <xi:include href="standard-conf.xml" xpointer="main-conf" />
+
+ <refsect1>
+ <title>Options</title>
+diff --git a/man/timesyncd.conf.xml b/man/timesyncd.conf.xml
+index 1127970a18..89a651c662 100644
+--- a/man/timesyncd.conf.xml
++++ b/man/timesyncd.conf.xml
+@@ -63,8 +63,7 @@
+
+ </refsect1>
+
+- <xi:include href="standard-conf.xml" xpointer="confd" />
+- <xi:include href="standard-conf.xml" xpointer="conf" />
++ <xi:include href="standard-conf.xml" xpointer="main-conf" />
+
+ <refsect1>
+ <title>Options</title>
+diff --git a/src/bootchart/bootchart.conf b/src/bootchart/bootchart.conf
+index 2d7cb61217..4f5e50936e 100644
+--- a/src/bootchart/bootchart.conf
++++ b/src/bootchart/bootchart.conf
+@@ -5,10 +5,11 @@
+ # the Free Software Foundation; either version 2.1 of the License, or
+ # (at your option) any later version.
+ #
+-# You can override the directives in this file by creating files in
+-# /etc/systemd/bootchart.conf.d/*.conf.
++# Entries in this file show the compile time defaults.
++# You can change settings by editing this file.
++# Defaults can be restored by simply deleting this file.
+ #
+-# See bootchart.conf(5) for details
++# See bootchart.conf(5) for details.
+
+ [Bootchart]
+ #Samples=500
+diff --git a/src/core/system.conf b/src/core/system.conf
+index a3727200df..231609033b 100644
+--- a/src/core/system.conf
++++ b/src/core/system.conf
+@@ -5,10 +5,11 @@
+ # the Free Software Foundation; either version 2.1 of the License, or
+ # (at your option) any later version.
+ #
+-# You can override the directives in this file by creating files in
+-# /etc/systemd/system.conf.d/*.conf.
++# Entries in this file show the compile time defaults.
++# You can change settings by editing this file.
++# Defaults can be restored by simply deleting this file.
+ #
+-# See systemd-system.conf(5) for details
++# See systemd-system.conf(5) for details.
+
+ [Manager]
+ #LogLevel=info
+diff --git a/src/journal/coredump.conf b/src/journal/coredump.conf
+index 0fe9fe801a..c2f0643e03 100644
+--- a/src/journal/coredump.conf
++++ b/src/journal/coredump.conf
+@@ -5,10 +5,11 @@
+ # the Free Software Foundation; either version 2.1 of the License, or
+ # (at your option) any later version.
+ #
+-# You can override the directives in this file by creating files in
+-# /etc/systemd/coredump.conf.d/*.conf.
++# Entries in this file show the compile time defaults.
++# You can change settings by editing this file.
++# Defaults can be restored by simply deleting this file.
+ #
+-# See coredump.conf(5) for details
++# See coredump.conf(5) for details.
+
+ [Coredump]
+ #Storage=external
+diff --git a/src/journal/journald.conf b/src/journal/journald.conf
+index 29bdf8f183..47eefe91c1 100644
+--- a/src/journal/journald.conf
++++ b/src/journal/journald.conf
+@@ -5,10 +5,11 @@
+ # the Free Software Foundation; either version 2.1 of the License, or
+ # (at your option) any later version.
+ #
+-# You can override the directives in this file by creating files in
+-# /etc/systemd/journald.conf.d/*.conf.
++# Entries in this file show the compile time defaults.
++# You can change settings by editing this file.
++# Defaults can be restored by simply deleting this file.
+ #
+-# See journald.conf(5) for details
++# See journald.conf(5) for details.
+
+ [Journal]
+ #Storage=auto
+diff --git a/src/login/logind.conf b/src/login/logind.conf
+index 6b1943a2d1..834c4c2ebf 100644
+--- a/src/login/logind.conf
++++ b/src/login/logind.conf
+@@ -5,10 +5,11 @@
+ # the Free Software Foundation; either version 2.1 of the License, or
+ # (at your option) any later version.
+ #
+-# You can override the directives in this file by creating files in
+-# /etc/systemd/logind.conf.d/*.conf.
++# Entries in this file show the compile time defaults.
++# You can change settings by editing this file.
++# Defaults can be restored by simply deleting this file.
+ #
+-# See logind.conf(5) for details
++# See logind.conf(5) for details.
+
+ [Login]
+ #NAutoVTs=6
+diff --git a/src/resolve/resolved.conf.in b/src/resolve/resolved.conf.in
+index e5a19ee474..3eb19e42b7 100644
+--- a/src/resolve/resolved.conf.in
++++ b/src/resolve/resolved.conf.in
+@@ -5,8 +5,9 @@
+ # the Free Software Foundation; either version 2.1 of the License, or
+ # (at your option) any later version.
+ #
+-# You can override the directives in this file by creating files in
+-# /etc/systemd/resolved.conf.d/*.conf.
++# Entries in this file show the compile time defaults.
++# You can change settings by editing this file.
++# Defaults can be restored by simply deleting this file.
+ #
+ # See resolved.conf(5) for details
+
+diff --git a/src/timesync/timesyncd.conf.in b/src/timesync/timesyncd.conf.in
+index fc3c6c49cf..b6a2ada273 100644
+--- a/src/timesync/timesyncd.conf.in
++++ b/src/timesync/timesyncd.conf.in
+@@ -5,10 +5,11 @@
+ # the Free Software Foundation; either version 2.1 of the License, or
+ # (at your option) any later version.
+ #
+-# You can override the directives in this file by creating files in
+-# /etc/systemd/timesyncd.conf.d/*.conf.
++# Entries in this file show the compile time defaults.
++# You can change settings by editing this file.
++# Defaults can be restored by simply deleting this file.
+ #
+-# See timesyncd.conf(5) for details
++# See timesyncd.conf(5) for details.
+
+ [Time]
+ #NTP=
diff --git a/0053-hwdb-add-pnpid-for-the-T450s-touchpad.patch b/0053-hwdb-add-pnpid-for-the-T450s-touchpad.patch
new file mode 100644
index 0000000..1b7ef18
--- /dev/null
+++ b/0053-hwdb-add-pnpid-for-the-T450s-touchpad.patch
@@ -0,0 +1,22 @@
+From 0e1497b9c44688f5a038dbcc7d69090d55e2701a Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer at who-t.net>
+Date: Wed, 4 Mar 2015 13:24:45 +1000
+Subject: [PATCH] hwdb: add pnpid for the T450s touchpad
+
+https://bugs.freedesktop.org/show_bug.cgi?id=89411
+(cherry picked from commit c26c1d86b3e466e073577e27ad839a0c112cd17b)
+---
+ hwdb/70-touchpad.hwdb | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/hwdb/70-touchpad.hwdb b/hwdb/70-touchpad.hwdb
+index bbf44db778..9fcb5fdb9b 100644
+--- a/hwdb/70-touchpad.hwdb
++++ b/hwdb/70-touchpad.hwdb
+@@ -36,4 +36,6 @@
+
+ # Lenovo X1 Carbon 3rd
+ touchpad:pnpid:*LEN0048*:
++# Lenovo T450s
++touchpad:pnpid:*LEN200f*:
+ TOUCHPAD_HAS_TRACKPOINT_BUTTONS=1
diff --git a/0054-networkd-netdev-inform-when-we-take-over-an-existing.patch b/0054-networkd-netdev-inform-when-we-take-over-an-existing.patch
new file mode 100644
index 0000000..8492f69
--- /dev/null
+++ b/0054-networkd-netdev-inform-when-we-take-over-an-existing.patch
@@ -0,0 +1,30 @@
+From 67ec035b3c192e71fb040959fe8d311d9c89edaa Mon Sep 17 00:00:00 2001
+From: Tom Gundersen <teg at jklm.no>
+Date: Wed, 4 Mar 2015 10:33:50 +0100
+Subject: [PATCH] networkd: netdev - inform when we take over an existing
+ netdev
+
+The crucial point here is that we will not change the settings of a netdev created by someone else
+we simply use it as is and trust it was set up as intended.
+
+This is confusing in the case of the pre-created netdev's (bond0 etc.), the solution should probably
+be to simply make the kernel stop creating these devices as they are pretty useless.
+
+(cherry picked from commit ff88a301e93cf1bddbaa7faa981f390a2a81a4bb)
+---
+ src/network/networkd-netdev.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/network/networkd-netdev.c b/src/network/networkd-netdev.c
+index 8119205dde..7d193d088e 100644
+--- a/src/network/networkd-netdev.c
++++ b/src/network/networkd-netdev.c
+@@ -261,7 +261,7 @@ static int netdev_create_handler(sd_rtnl *rtnl, sd_rtnl_message *m, void *userda
+
+ r = sd_rtnl_message_get_errno(m);
+ if (r == -EEXIST)
+- log_netdev_debug(netdev, "netdev exists, using existing");
++ log_info_netdev(netdev, "netdev exists, using existing without changing its parameters");
+ else if (r < 0) {
+ log_warning_netdev(netdev, "netdev could not be created: %s", strerror(-r));
+ netdev_drop(netdev);
diff --git a/0055-man-replace-obsolete-wiki-link-with-man-page.patch b/0055-man-replace-obsolete-wiki-link-with-man-page.patch
new file mode 100644
index 0000000..6cfd146
--- /dev/null
+++ b/0055-man-replace-obsolete-wiki-link-with-man-page.patch
@@ -0,0 +1,181 @@
+From 4015611680b1ee7ba43dbaf405fefb7ddb137797 Mon Sep 17 00:00:00 2001
+From: Zachary Cook <zachcook1991 at gmail.com>
+Date: Wed, 4 Mar 2015 18:43:20 -0500
+Subject: [PATCH] man: replace obsolete wiki link with man page
+
+(cherry picked from commit b1c1a51944e8e11545ae2a230d674f5145595192)
+---
+ man/systemd-cryptsetup-generator.xml | 6 ++----
+ man/systemd-debug-generator.xml | 6 ++----
+ man/systemd-efi-boot-generator.xml | 4 +---
+ man/systemd-fstab-generator.xml | 6 ++----
+ man/systemd-getty-generator.xml | 5 ++---
+ man/systemd-gpt-auto-generator.xml | 4 +---
+ man/systemd-system-update-generator.xml | 6 ++----
+ man/systemd-sysv-generator.xml | 6 ++----
+ man/systemd.unit.xml | 4 ++--
+ man/systemd.xml | 5 ++---
+ 10 files changed, 18 insertions(+), 34 deletions(-)
+
+diff --git a/man/systemd-cryptsetup-generator.xml b/man/systemd-cryptsetup-generator.xml
+index 0e48e79346..1974cd7a2d 100644
+--- a/man/systemd-cryptsetup-generator.xml
++++ b/man/systemd-cryptsetup-generator.xml
+@@ -59,10 +59,8 @@
+ <citerefentry><refentrytitle>systemd-cryptsetup at .service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ units as necessary.</para>
+
+- <para><filename>systemd-cryptsetup-generator</filename>
+- implements the <ulink
+- url="http://www.freedesktop.org/wiki/Software/systemd/Generators">generator
+- specification</ulink>.</para>
++ <para><filename>systemd-cryptsetup-generator</filename> implements
++ <citerefentry><refentrytitle>systemd.generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
+ </refsect1>
+
+ <refsect1>
+diff --git a/man/systemd-debug-generator.xml b/man/systemd-debug-generator.xml
+index 74c3b2620e..5c5e9fc4a1 100644
+--- a/man/systemd-debug-generator.xml
++++ b/man/systemd-debug-generator.xml
+@@ -79,10 +79,8 @@
+ <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>'s
+ <command>enable</command> command.</para>
+
+- <para><filename>systemd-debug-generator</filename> implements the
+- <ulink
+- url="http://www.freedesktop.org/wiki/Software/systemd/Generators">generator
+- specification</ulink>.</para>
++ <para><filename>systemd-debug-generator</filename> implements
++ <citerefentry><refentrytitle>systemd.generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
+ </refsect1>
+
+ <refsect1>
+diff --git a/man/systemd-efi-boot-generator.xml b/man/systemd-efi-boot-generator.xml
+index b2d8d65e3d..fd7ba79837 100644
+--- a/man/systemd-efi-boot-generator.xml
++++ b/man/systemd-efi-boot-generator.xml
+@@ -68,9 +68,7 @@
+ only be activated on-demand, when accessed.</para>
+
+ <para><filename>systemd-efi-boot-generator</filename> implements
+- the <ulink
+- url="http://www.freedesktop.org/wiki/Software/systemd/Generators">generator
+- specification</ulink>.</para>
++ <citerefentry><refentrytitle>systemd.generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
+ </refsect1>
+
+ <refsect1>
+diff --git a/man/systemd-fstab-generator.xml b/man/systemd-fstab-generator.xml
+index 8f82e33304..022efb4130 100644
+--- a/man/systemd-fstab-generator.xml
++++ b/man/systemd-fstab-generator.xml
+@@ -71,10 +71,8 @@
+ for more information about special <filename>/etc/fstab</filename>
+ mount options this generator understands.</para>
+
+- <para><filename>systemd-fstab-generator</filename> implements the
+- <ulink
+- url="http://www.freedesktop.org/wiki/Software/systemd/Generators">generator
+- specification</ulink>.</para>
++ <para><filename>systemd-fstab-generator</filename> implements
++ <citerefentry><refentrytitle>systemd.generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
+ </refsect1>
+
+ <refsect1>
+diff --git a/man/systemd-getty-generator.xml b/man/systemd-getty-generator.xml
+index 0b5b2f2a71..338925964d 100644
+--- a/man/systemd-getty-generator.xml
++++ b/man/systemd-getty-generator.xml
+@@ -75,9 +75,8 @@
+ for more information on the <varname>console=</varname> kernel
+ parameter.</para>
+
+- <para><filename>systemd-getty-generator</filename> implements the
+- <ulink url="http://www.freedesktop.org/wiki/Software/systemd/Generators">generator
+- specification</ulink>.</para>
++ <para><filename>systemd-getty-generator</filename> implements
++ <citerefentry><refentrytitle>systemd.generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
+
+ <para>Further information about configuration of gettys you may
+ find in
+diff --git a/man/systemd-gpt-auto-generator.xml b/man/systemd-gpt-auto-generator.xml
+index 9c706df246..8d2eaca4f6 100644
+--- a/man/systemd-gpt-auto-generator.xml
++++ b/man/systemd-gpt-auto-generator.xml
+@@ -157,9 +157,7 @@
+ using <command>btrfs subvolume set-default</command>.</para>
+
+ <para><filename>systemd-gpt-auto-generator</filename> implements
+- the
+- <ulink url="http://www.freedesktop.org/wiki/Software/systemd/Generators">Generator
+- Specification</ulink>.</para>
++ <citerefentry><refentrytitle>systemd.generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
+ </refsect1>
+
+ <refsect1>
+diff --git a/man/systemd-system-update-generator.xml b/man/systemd-system-update-generator.xml
+index 3eec1d7b93..e7fc95c742 100644
+--- a/man/systemd-system-update-generator.xml
++++ b/man/systemd-system-update-generator.xml
+@@ -61,10 +61,8 @@
+ Updates Specification</ulink>.
+ </para>
+
+- <para><filename>systemd-system-update-generator</filename>
+- implements the
+- <ulink url="http://www.freedesktop.org/wiki/Software/systemd/Generators">generator
+- specification</ulink>.</para>
++ <para><filename>systemd-system-update-generator</filename> implements
++ <citerefentry><refentrytitle>systemd.generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
+ </refsect1>
+
+ <refsect1>
+diff --git a/man/systemd-sysv-generator.xml b/man/systemd-sysv-generator.xml
+index e619b1bc2e..f2d56cbcd2 100644
+--- a/man/systemd-sysv-generator.xml
++++ b/man/systemd-sysv-generator.xml
+@@ -81,10 +81,8 @@
+ part of early boot, so all wrapper units are ordered after
+ <filename>basic.target</filename>.</para>
+
+- <para><filename>systemd-sysv-generator</filename>
+- implements the <ulink
+- url="http://www.freedesktop.org/wiki/Software/systemd/Generators">generator
+- specification</ulink>.</para>
++ <para><filename>systemd-sysv-generator</filename> implements
++ <citerefentry><refentrytitle>systemd.generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
+ </refsect1>
+
+ <refsect1>
+diff --git a/man/systemd.unit.xml b/man/systemd.unit.xml
+index 09e11b4711..a452f87baf 100644
+--- a/man/systemd.unit.xml
++++ b/man/systemd.unit.xml
+@@ -357,8 +357,8 @@
+ from directories not on the unit load path. See the
+ <command>link</command> command for
+ <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
+- Also, some units are dynamically created via generators <ulink
+- url="http://www.freedesktop.org/wiki/Software/systemd/Generators/">Generators</ulink>.
++ Also, some units are dynamically created via a
++ <citerefentry><refentrytitle>systemd.generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>.
+ </para>
+ </refsect1>
+
+diff --git a/man/systemd.xml b/man/systemd.xml
+index 80591dc732..9b92140e6b 100644
+--- a/man/systemd.xml
++++ b/man/systemd.xml
+@@ -415,9 +415,8 @@
+
+ <para>Units may be generated dynamically at boot and system
+ manager reload time, for example based on other configuration
+- files or parameters passed on the kernel command line. For details
+- see the
+- <ulink url="http://www.freedesktop.org/wiki/Software/systemd/Generators">Generators Specification</ulink>.</para>
++ files or parameters passed on the kernel command line. For details see
++ <citerefentry><refentrytitle>systemd.generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
+
+ <para>Systems which invoke systemd in a container or initrd
+ environment should implement the
diff --git a/0056-Use-correct-uname-identifiers-in-arch_map-for-SuperH.patch b/0056-Use-correct-uname-identifiers-in-arch_map-for-SuperH.patch
new file mode 100644
index 0000000..11c9607
--- /dev/null
+++ b/0056-Use-correct-uname-identifiers-in-arch_map-for-SuperH.patch
@@ -0,0 +1,31 @@
+From 9b6d1109707911b63b76b1c7a26e89a21cef9011 Mon Sep 17 00:00:00 2001
+From: John Paul Adrian Glaubitz <glaubitz at physik.fu-berlin.de>
+Date: Thu, 5 Mar 2015 00:07:33 +0100
+Subject: [PATCH] Use correct uname identifiers in arch_map for SuperH
+ architecture
+
+https://bugs.freedesktop.org/show_bug.cgi?id=89421
+(cherry picked from commit 3a867c6a2361c8af943d3ed452da6e8623a3f65d)
+---
+ src/shared/architecture.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/src/shared/architecture.c b/src/shared/architecture.c
+index 34c5a53fa9..884abdd3ea 100644
+--- a/src/shared/architecture.c
++++ b/src/shared/architecture.c
+@@ -108,8 +108,12 @@ int uname_architecture(void) {
+ { "armv8l", ARCHITECTURE_ARM },
+ { "armv8b", ARCHITECTURE_ARM_BE },
+ #elif defined(__sh__) || defined(__sh64__)
+- { "sh64", ARCHITECTURE_SH64 },
+- { "sh", ARCHITECTURE_SH },
++ { "sh5", ARCHITECTURE_SH64 },
++ { "sh2", ARCHITECTURE_SH },
++ { "sh2a", ARCHITECTURE_SH },
++ { "sh3", ARCHITECTURE_SH },
++ { "sh4", ARCHITECTURE_SH },
++ { "sh4a", ARCHITECTURE_SH },
+ #elif defined(__m68k__)
+ { "m68k", ARCHITECTURE_M68K },
+ #elif defined(__tilegx__)
diff --git a/0057-hwdb-fix-Dell-XPS12-9Q33-key-name.patch b/0057-hwdb-fix-Dell-XPS12-9Q33-key-name.patch
new file mode 100644
index 0000000..f780ecc
--- /dev/null
+++ b/0057-hwdb-fix-Dell-XPS12-9Q33-key-name.patch
@@ -0,0 +1,24 @@
+From cc32b9d93a797ce30b139e839432c49ec228271f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek at in.waw.pl>
+Date: Wed, 4 Mar 2015 20:25:04 -0500
+Subject: [PATCH] hwdb: fix Dell XPS12 9Q33 key name
+
+https://bugs.freedesktop.org/show_bug.cgi?id=84437
+(cherry picked from commit 4f70555d76c90ffdc5a5e4f75bbc08b38022c911)
+---
+ hwdb/60-keyboard.hwdb | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/hwdb/60-keyboard.hwdb b/hwdb/60-keyboard.hwdb
+index 2cb976923d..88906655ef 100644
+--- a/hwdb/60-keyboard.hwdb
++++ b/hwdb/60-keyboard.hwdb
+@@ -259,7 +259,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnXPS*:pvr*
+ # Dell XPS12 9Q33
+ keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnXPS12-9Q33*:pvr*
+ KEYBOARD_KEY_88=wlan
+- KEYBOARD_KEY_65=switchvideomode # Screen Rotate
++ KEYBOARD_KEY_65=direction # Screen Rotate
+
+ # Dell Latitude microphone mute
+ keyboard:name:Dell WMI hotkeys:dmi:bvn*:bvr*:bd*:svnDell*:pnLatitude*
diff --git a/0058-Remove-the-cap-on-epoll-events.patch b/0058-Remove-the-cap-on-epoll-events.patch
new file mode 100644
index 0000000..46f34c6
--- /dev/null
+++ b/0058-Remove-the-cap-on-epoll-events.patch
@@ -0,0 +1,36 @@
+From c2695a243c2741939080ef92e06f0dfddb59d2af Mon Sep 17 00:00:00 2001
+From: Hannes Reinecke <hare at suse.de>
+Date: Wed, 4 Mar 2015 16:32:16 +0100
+Subject: [PATCH] Remove the cap on epoll events
+
+Currently the code will silently blank out events if there are more
+then 512 epoll events, causing them never to be handled at all. This
+patch removes the cap on the number of events for epoll_wait, thereby
+avoiding this issue.
+
+(cherry picked from commit 1c724e9e0ec5bc4bf791a3d7b1cf5b955cdb98b2)
+---
+ src/libsystemd/sd-event/sd-event.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/src/libsystemd/sd-event/sd-event.c b/src/libsystemd/sd-event/sd-event.c
+index 25089a0335..c6350be9f4 100644
+--- a/src/libsystemd/sd-event/sd-event.c
++++ b/src/libsystemd/sd-event/sd-event.c
+@@ -37,7 +37,6 @@
+
+ #include "sd-event.h"
+
+-#define EPOLL_QUEUE_MAX 512U
+ #define DEFAULT_ACCURACY_USEC (250 * USEC_PER_MSEC)
+
+ typedef enum EventSourceType {
+@@ -2367,7 +2366,7 @@ _public_ int sd_event_wait(sd_event *e, uint64_t timeout) {
+ return 1;
+ }
+
+- ev_queue_max = CLAMP(e->n_sources, 1U, EPOLL_QUEUE_MAX);
++ ev_queue_max = MAX(e->n_sources, 1u);
+ ev_queue = newa(struct epoll_event, ev_queue_max);
+
+ m = epoll_wait(e->epoll_fd, ev_queue, ev_queue_max,
diff --git a/0059-Allow-up-to-4096-simultaneous-connections.patch b/0059-Allow-up-to-4096-simultaneous-connections.patch
new file mode 100644
index 0000000..b1d116b
--- /dev/null
+++ b/0059-Allow-up-to-4096-simultaneous-connections.patch
@@ -0,0 +1,30 @@
+From 7eaa810935ff190e039f465a06663b4d92aea794 Mon Sep 17 00:00:00 2001
+From: Hannes Reinecke <hare at suse.de>
+Date: Wed, 4 Mar 2015 16:32:17 +0100
+Subject: [PATCH] Allow up to 4096 simultaneous connections
+
+On large system we hit the limit on 512 simultaneous dbus
+connections, resulting in tons of annoying messages:
+
+Too many concurrent connections, refusing
+
+This patch raises the limit to 4096.
+
+(cherry picked from commit cbecf9bf929318533fea798c57c10efcf6b2b447)
+---
+ src/core/dbus.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/core/dbus.c b/src/core/dbus.c
+index 260775cd85..85b5174868 100644
+--- a/src/core/dbus.c
++++ b/src/core/dbus.c
+@@ -44,7 +44,7 @@
+ #include "bus-internal.h"
+ #include "selinux-access.h"
+
+-#define CONNECTIONS_MAX 512
++#define CONNECTIONS_MAX 4096
+
+ static void destroy_bus(Manager *m, sd_bus **bus);
+
diff --git a/0060-hwdb-add-Logitech-G5-Laser-Mouse.patch b/0060-hwdb-add-Logitech-G5-Laser-Mouse.patch
new file mode 100644
index 0000000..e8e0c8e
--- /dev/null
+++ b/0060-hwdb-add-Logitech-G5-Laser-Mouse.patch
@@ -0,0 +1,23 @@
+From 09787b60a3876972b9194fe403a9ad9282f5dd86 Mon Sep 17 00:00:00 2001
+From: Jonathon Gilbert <coroutines at gmail.com>
+Date: Thu, 5 Mar 2015 20:29:56 +1000
+Subject: [PATCH] hwdb: add Logitech G5 Laser Mouse
+
+(cherry picked from commit 6437edbebe80e68b782f178c7a76e870a53811d7)
+---
+ hwdb/70-mouse.hwdb | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/hwdb/70-mouse.hwdb b/hwdb/70-mouse.hwdb
+index a62ebc497d..93ee4d9fa6 100644
+--- a/hwdb/70-mouse.hwdb
++++ b/hwdb/70-mouse.hwdb
+@@ -196,6 +196,8 @@ mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:4008:
+ mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:101b:
+ MOUSE_DPI=800 at 166
+
++# Logitech G5 Laser Mouse
++mouse:usb:v046dpc049:name:Logitech USB Gaming Mouse:
+ # Logitech G500s Laser Gaming Mouse
+ mouse:usb:v046dpc24e:name:Logitech G500s Laser Gaming Mouse:
+ MOUSE_DPI=400 at 500 *800 at 500 2000 at 500
diff --git a/0061-tmpfiles-Fix-handling-of-duplicate-lines.patch b/0061-tmpfiles-Fix-handling-of-duplicate-lines.patch
new file mode 100644
index 0000000..a38a61b
--- /dev/null
+++ b/0061-tmpfiles-Fix-handling-of-duplicate-lines.patch
@@ -0,0 +1,32 @@
+From 71265e69fa8a26d8a9669824eeb3ea9d2fe7c923 Mon Sep 17 00:00:00 2001
+From: Martin Pitt <martin.pitt at ubuntu.com>
+Date: Thu, 5 Mar 2015 14:58:56 +0100
+Subject: [PATCH] tmpfiles: Fix handling of duplicate lines
+
+Commit 3f93da987 accidentally dropped the "return 0" after detection of a
+duplicate line. Put it back, to get back the documented and intended "first
+match wins" behaviour.
+
+https://launchpad.net/bugs/1428540
+(cherry picked from commit 6487ada88d63e4998113f4c57fa10b7c865f8026)
+---
+ src/tmpfiles/tmpfiles.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
+index 187997e1f4..1e10968164 100644
+--- a/src/tmpfiles/tmpfiles.c
++++ b/src/tmpfiles/tmpfiles.c
+@@ -1750,9 +1750,11 @@ static int parse_line(const char *fname, unsigned line, const char *buffer) {
+ unsigned n;
+
+ for (n = 0; n < existing->count; n++) {
+- if (!item_compatible(existing->items + n, &i))
++ if (!item_compatible(existing->items + n, &i)) {
+ log_warning("[%s:%u] Duplicate line for path \"%s\", ignoring.",
+ fname, line, i.path);
++ return 0;
++ }
+ }
+ } else {
+ existing = new0(ItemArray, 1);
diff --git a/0062-hwdb-add-Lenovo-W451-to-TOUCHPAD_HAS_TRACKPOINT_BUTT.patch b/0062-hwdb-add-Lenovo-W451-to-TOUCHPAD_HAS_TRACKPOINT_BUTT.patch
new file mode 100644
index 0000000..79187a7
--- /dev/null
+++ b/0062-hwdb-add-Lenovo-W451-to-TOUCHPAD_HAS_TRACKPOINT_BUTT.patch
@@ -0,0 +1,23 @@
+From 9e28311ad66214528c4644ca593bcb5259462341 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer at who-t.net>
+Date: Fri, 6 Mar 2015 11:02:04 +1000
+Subject: [PATCH] hwdb: add Lenovo W451 to TOUCHPAD_HAS_TRACKPOINT_BUTTONS list
+
+(cherry picked from commit 9638ee90862e4a24f5796e87beebc4c47e2728c2)
+---
+ hwdb/70-touchpad.hwdb | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/hwdb/70-touchpad.hwdb b/hwdb/70-touchpad.hwdb
+index 9fcb5fdb9b..8a324466b3 100644
+--- a/hwdb/70-touchpad.hwdb
++++ b/hwdb/70-touchpad.hwdb
+@@ -36,6 +36,8 @@
+
+ # Lenovo X1 Carbon 3rd
+ touchpad:pnpid:*LEN0048*:
++# Lenovo W541
++touchpad:pnpid:*LEN004a*:
+ # Lenovo T450s
+ touchpad:pnpid:*LEN200f*:
+ TOUCHPAD_HAS_TRACKPOINT_BUTTONS=1
diff --git a/0063-vconsole-match-on-vtcon-events-not-fbcon-ones.patch b/0063-vconsole-match-on-vtcon-events-not-fbcon-ones.patch
new file mode 100644
index 0000000..b4617c9
--- /dev/null
+++ b/0063-vconsole-match-on-vtcon-events-not-fbcon-ones.patch
@@ -0,0 +1,39 @@
+From b83da13fffc79b5f4c1edaba3764f4d9be6993ff Mon Sep 17 00:00:00 2001
+From: Jan Engelhardt <jengelh at inai.de>
+Date: Tue, 24 Feb 2015 17:49:02 +0100
+Subject: [PATCH] vconsole: match on vtcon events, not fbcon ones
+
+I observe that upon loading of framebuffer drivers, I do not get the
+desired system font, but the kernel-level defaults (usually
+lib/fonts/font_8x16.c, but your mileage may vary depending on kernel
+config and boot options).
+
+The fbcon driver may be loaded at a time way before the first
+framebuffer device is active, such that the vconsole setup helper
+runs too early.
+
+The existing rule is non-fitting. The going live of the fbcon kernel
+component does not indicate the proper time at which to load the
+visuals, which really ought to be done when a new vtcon object comes
+into existence. (The font table is a per-vtcon property.)
+
+(cherry picked from commit a52750d1483ff139df33149afc0b675531e9cd79)
+---
+ src/vconsole/90-vconsole.rules.in | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/src/vconsole/90-vconsole.rules.in b/src/vconsole/90-vconsole.rules.in
+index 062009640c..35b9ad5151 100644
+--- a/src/vconsole/90-vconsole.rules.in
++++ b/src/vconsole/90-vconsole.rules.in
+@@ -5,7 +5,6 @@
+ # 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+="@rootlibexecdir@/systemd-vconsole-setup"
++# Each vtcon keeps its own state of fonts.
++#
++ACTION=="add", SUBSYSTEM=="vtconsole", KERNEL=="vtcon*", RUN+="@rootlibexecdir@/systemd-vconsole-setup"
diff --git a/0064-core-do-not-spawn-jobs-or-touch-other-units-during-c.patch b/0064-core-do-not-spawn-jobs-or-touch-other-units-during-c.patch
new file mode 100644
index 0000000..8793226
--- /dev/null
+++ b/0064-core-do-not-spawn-jobs-or-touch-other-units-during-c.patch
@@ -0,0 +1,375 @@
+From 3ef091125ceb159374d2d0d4dbad84d90b252852 Mon Sep 17 00:00:00 2001
+From: Ivan Shapovalov <intelfx100 at gmail.com>
+Date: Sat, 7 Mar 2015 08:44:52 -0500
+Subject: [PATCH] core: do not spawn jobs or touch other units during
+ coldplugging
+
+Because the order of coldplugging is not defined, we can reference a
+not-yet-coldplugged unit and read its state while it has not yet been
+set to a meaningful value.
+
+This way, already active units may get started again.
+
+We fix this by deferring such actions until all units have been at
+least somehow coldplugged.
+
+Fixes https://bugs.freedesktop.org/show_bug.cgi?id=88401
+
+(cherry picked from commit 6e392c9c45643d106673c6643ac8bf4e65da13c1)
+---
+ src/core/automount.c | 2 +-
+ src/core/busname.c | 2 +-
+ src/core/device.c | 2 +-
+ src/core/manager.c | 35 +++++++++++++++++++++++++++++++++--
+ src/core/mount.c | 2 +-
+ src/core/path.c | 14 ++++++++++----
+ src/core/scope.c | 2 +-
+ src/core/service.c | 2 +-
+ src/core/slice.c | 2 +-
+ src/core/snapshot.c | 2 +-
+ src/core/socket.c | 2 +-
+ src/core/swap.c | 2 +-
+ src/core/target.c | 2 +-
+ src/core/timer.c | 14 ++++++++++----
+ src/core/unit.c | 25 ++++++++++++++++---------
+ src/core/unit.h | 12 +++++++++---
+ 16 files changed, 89 insertions(+), 33 deletions(-)
+
+diff --git a/src/core/automount.c b/src/core/automount.c
+index 9f6bd84b21..e4c79415d1 100644
+--- a/src/core/automount.c
++++ b/src/core/automount.c
+@@ -235,7 +235,7 @@ static void automount_set_state(Automount *a, AutomountState state) {
+ unit_notify(UNIT(a), state_translation_table[old_state], state_translation_table[state], true);
+ }
+
+-static int automount_coldplug(Unit *u) {
++static int automount_coldplug(Unit *u, Hashmap *deferred_work) {
+ Automount *a = AUTOMOUNT(u);
+ int r;
+
+diff --git a/src/core/busname.c b/src/core/busname.c
+index 1d77292f9b..43d7607a30 100644
+--- a/src/core/busname.c
++++ b/src/core/busname.c
+@@ -335,7 +335,7 @@ static void busname_set_state(BusName *n, BusNameState state) {
+ unit_notify(UNIT(n), state_translation_table[old_state], state_translation_table[state], true);
+ }
+
+-static int busname_coldplug(Unit *u) {
++static int busname_coldplug(Unit *u, Hashmap *deferred_work) {
+ BusName *n = BUSNAME(u);
+ int r;
+
+diff --git a/src/core/device.c b/src/core/device.c
+index 1cc103c290..4ff8827219 100644
+--- a/src/core/device.c
++++ b/src/core/device.c
+@@ -142,7 +142,7 @@ static void device_set_state(Device *d, DeviceState state) {
+ unit_notify(UNIT(d), state_translation_table[old_state], state_translation_table[state], true);
+ }
+
+-static int device_coldplug(Unit *u) {
++static int device_coldplug(Unit *u, Hashmap *deferred_work) {
+ Device *d = DEVICE(u);
+
+ assert(d);
+diff --git a/src/core/manager.c b/src/core/manager.c
+index bc9b7ec620..203a6a0a1a 100644
+--- a/src/core/manager.c
++++ b/src/core/manager.c
+@@ -983,7 +983,28 @@ static int manager_coldplug(Manager *m) {
+ Unit *u;
+ char *k;
+
+- assert(m);
++ /*
++ * Some unit types tend to spawn jobs or check other units' state
++ * during coldplug. This is wrong because it is undefined whether the
++ * units in question have been already coldplugged (i. e. their state
++ * restored). This way, we can easily re-start an already started unit
++ * or otherwise make a wrong decision based on the unit's state.
++ *
++ * Solve this by providing a way for coldplug functions to defer
++ * such actions until after all units have been coldplugged.
++ *
++ * We store Unit* -> int(*)(Unit*).
++ *
++ * https://bugs.freedesktop.org/show_bug.cgi?id=88401
++ */
++ _cleanup_hashmap_free_ Hashmap *deferred_work = NULL;
++ int(*proc)(Unit*);
++
++ assert(m);
++
++ deferred_work = hashmap_new(&trivial_hash_ops);
++ if (!deferred_work)
++ return -ENOMEM;
+
+ /* Then, let's set up their initial state. */
+ HASHMAP_FOREACH_KEY(u, k, m->units, i) {
+@@ -993,7 +1014,17 @@ static int manager_coldplug(Manager *m) {
+ if (u->id != k)
+ continue;
+
+- q = unit_coldplug(u);
++ q = unit_coldplug(u, deferred_work);
++ if (q < 0)
++ r = q;
++ }
++
++ /* After coldplugging and setting up initial state of the units,
++ * let's perform operations which spawn jobs or query units' state. */
++ HASHMAP_FOREACH_KEY(proc, u, deferred_work, i) {
++ int q;
++
++ q = proc(u);
+ if (q < 0)
+ r = q;
+ }
+diff --git a/src/core/mount.c b/src/core/mount.c
+index c971330af2..3ae0eb4621 100644
+--- a/src/core/mount.c
++++ b/src/core/mount.c
+@@ -617,7 +617,7 @@ static void mount_set_state(Mount *m, MountState state) {
+ m->reload_result = MOUNT_SUCCESS;
+ }
+
+-static int mount_coldplug(Unit *u) {
++static int mount_coldplug(Unit *u, Hashmap *deferred_work) {
+ Mount *m = MOUNT(u);
+ MountState new_state = MOUNT_DEAD;
+ int r;
+diff --git a/src/core/path.c b/src/core/path.c
+index e5ea79fec7..51e36fa8be 100644
+--- a/src/core/path.c
++++ b/src/core/path.c
+@@ -440,7 +440,12 @@ static void path_set_state(Path *p, PathState state) {
+
+ static void path_enter_waiting(Path *p, bool initial, bool recheck);
+
+-static int path_coldplug(Unit *u) {
++static int path_enter_waiting_coldplug(Unit *u) {
++ path_enter_waiting(PATH(u), true, true);
++ return 0;
++}
++
++static int path_coldplug(Unit *u, Hashmap *deferred_work) {
+ Path *p = PATH(u);
+
+ assert(p);
+@@ -449,9 +454,10 @@ static int path_coldplug(Unit *u) {
+ if (p->deserialized_state != p->state) {
+
+ if (p->deserialized_state == PATH_WAITING ||
+- p->deserialized_state == PATH_RUNNING)
+- path_enter_waiting(p, true, true);
+- else
++ p->deserialized_state == PATH_RUNNING) {
++ hashmap_put(deferred_work, u, &path_enter_waiting_coldplug);
++ path_set_state(p, PATH_WAITING);
++ } else
+ path_set_state(p, p->deserialized_state);
+ }
+
+diff --git a/src/core/scope.c b/src/core/scope.c
+index b41db7872c..ae6614fbf0 100644
+--- a/src/core/scope.c
++++ b/src/core/scope.c
+@@ -173,7 +173,7 @@ static int scope_load(Unit *u) {
+ return scope_verify(s);
+ }
+
+-static int scope_coldplug(Unit *u) {
++static int scope_coldplug(Unit *u, Hashmap *deferred_work) {
+ Scope *s = SCOPE(u);
+ int r;
+
+diff --git a/src/core/service.c b/src/core/service.c
+index 15e29be149..7781b4e626 100644
+--- a/src/core/service.c
++++ b/src/core/service.c
+@@ -879,7 +879,7 @@ static void service_set_state(Service *s, ServiceState state) {
+ s->reload_result = SERVICE_SUCCESS;
+ }
+
+-static int service_coldplug(Unit *u) {
++static int service_coldplug(Unit *u, Hashmap *deferred_work) {
+ Service *s = SERVICE(u);
+ int r;
+
+diff --git a/src/core/slice.c b/src/core/slice.c
+index ae9819d015..61ff9d3314 100644
+--- a/src/core/slice.c
++++ b/src/core/slice.c
+@@ -153,7 +153,7 @@ static int slice_load(Unit *u) {
+ return slice_verify(s);
+ }
+
+-static int slice_coldplug(Unit *u) {
++static int slice_coldplug(Unit *u, Hashmap *deferred_work) {
+ Slice *t = SLICE(u);
+
+ assert(t);
+diff --git a/src/core/snapshot.c b/src/core/snapshot.c
+index b70c3beb60..b1d8448771 100644
+--- a/src/core/snapshot.c
++++ b/src/core/snapshot.c
+@@ -75,7 +75,7 @@ static int snapshot_load(Unit *u) {
+ return 0;
+ }
+
+-static int snapshot_coldplug(Unit *u) {
++static int snapshot_coldplug(Unit *u, Hashmap *deferred_work) {
+ Snapshot *s = SNAPSHOT(u);
+
+ assert(s);
+diff --git a/src/core/socket.c b/src/core/socket.c
+index 88aae4815b..760de0203d 100644
+--- a/src/core/socket.c
++++ b/src/core/socket.c
+@@ -1326,7 +1326,7 @@ static void socket_set_state(Socket *s, SocketState state) {
+ unit_notify(UNIT(s), state_translation_table[old_state], state_translation_table[state], true);
+ }
+
+-static int socket_coldplug(Unit *u) {
++static int socket_coldplug(Unit *u, Hashmap *deferred_work) {
+ Socket *s = SOCKET(u);
+ int r;
+
+diff --git a/src/core/swap.c b/src/core/swap.c
+index 5c19af5d91..369abf0f53 100644
+--- a/src/core/swap.c
++++ b/src/core/swap.c
+@@ -513,7 +513,7 @@ static void swap_set_state(Swap *s, SwapState state) {
+ job_add_to_run_queue(UNIT(other)->job);
+ }
+
+-static int swap_coldplug(Unit *u) {
++static int swap_coldplug(Unit *u, Hashmap *deferred_work) {
+ Swap *s = SWAP(u);
+ SwapState new_state = SWAP_DEAD;
+ int r;
+diff --git a/src/core/target.c b/src/core/target.c
+index 33fb66bc3f..2411a8e758 100644
+--- a/src/core/target.c
++++ b/src/core/target.c
+@@ -107,7 +107,7 @@ static int target_load(Unit *u) {
+ return 0;
+ }
+
+-static int target_coldplug(Unit *u) {
++static int target_coldplug(Unit *u, Hashmap *deferred_work) {
+ Target *t = TARGET(u);
+
+ assert(t);
+diff --git a/src/core/timer.c b/src/core/timer.c
+index 45744c7de5..48cf9c16a8 100644
+--- a/src/core/timer.c
++++ b/src/core/timer.c
+@@ -268,7 +268,12 @@ static void timer_set_state(Timer *t, TimerState state) {
+
+ static void timer_enter_waiting(Timer *t, bool initial);
+
+-static int timer_coldplug(Unit *u) {
++static int timer_enter_waiting_coldplug(Unit *u) {
++ timer_enter_waiting(TIMER(u), false);
++ return 0;
++}
++
++static int timer_coldplug(Unit *u, Hashmap *deferred_work) {
+ Timer *t = TIMER(u);
+
+ assert(t);
+@@ -276,9 +281,10 @@ static int timer_coldplug(Unit *u) {
+
+ if (t->deserialized_state != t->state) {
+
+- if (t->deserialized_state == TIMER_WAITING)
+- timer_enter_waiting(t, false);
+- else
++ if (t->deserialized_state == TIMER_WAITING) {
++ hashmap_put(deferred_work, u, &timer_enter_waiting_coldplug);
++ timer_set_state(t, TIMER_WAITING);
++ } else
+ timer_set_state(t, t->deserialized_state);
+ }
+
+diff --git a/src/core/unit.c b/src/core/unit.c
+index a6558ee23b..565455bd63 100644
+--- a/src/core/unit.c
++++ b/src/core/unit.c
+@@ -2859,27 +2859,34 @@ int unit_add_node_link(Unit *u, const char *what, bool wants) {
+ return 0;
+ }
+
+-int unit_coldplug(Unit *u) {
++static int unit_add_deserialized_job_coldplug(Unit *u) {
++ int r;
++
++ 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;
++
++ return 0;
++}
++
++int unit_coldplug(Unit *u, Hashmap *deferred_work) {
+ int r;
+
+ assert(u);
+
+ if (UNIT_VTABLE(u)->coldplug)
+- if ((r = UNIT_VTABLE(u)->coldplug(u)) < 0)
++ if ((r = UNIT_VTABLE(u)->coldplug(u, deferred_work)) < 0)
+ return r;
+
+ if (u->job) {
+ r = job_coldplug(u->job);
+ if (r < 0)
+ return r;
+- } else if (u->deserialized_job >= 0) {
++ } 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;
+- }
++ hashmap_put(deferred_work, u, &unit_add_deserialized_job_coldplug);
+
+ return 0;
+ }
+diff --git a/src/core/unit.h b/src/core/unit.h
+index 291bc77a76..7ebc489c80 100644
+--- a/src/core/unit.h
++++ b/src/core/unit.h
+@@ -307,8 +307,14 @@ struct UnitVTable {
+ int (*load)(Unit *u);
+
+ /* If a lot of units got created via enumerate(), this is
+- * where to actually set the state and call unit_notify(). */
+- int (*coldplug)(Unit *u);
++ * where to actually set the state and call unit_notify().
++ *
++ * This must not reference other units (maybe implicitly through spawning
++ * jobs), because it is possible that they are not yet coldplugged.
++ * Such actions must be deferred until the end of coldplug bу adding
++ * a "Unit* -> int(*)(Unit*)" entry into the hashmap.
++ */
++ int (*coldplug)(Unit *u, Hashmap *deferred_work);
+
+ void (*dump)(Unit *u, FILE *f, const char *prefix);
+
+@@ -544,7 +550,7 @@ int unit_deserialize(Unit *u, FILE *f, FDSet *fds);
+
+ int unit_add_node_link(Unit *u, const char *what, bool wants);
+
+-int unit_coldplug(Unit *u);
++int unit_coldplug(Unit *u, Hashmap *deferred_work);
+
+ void unit_status_printf(Unit *u, const char *status, const char *unit_status_msg_format) _printf_(3, 0);
+
diff --git a/0065-firstboot-set-all-spwd-fields-to-1-for-consistency-w.patch b/0065-firstboot-set-all-spwd-fields-to-1-for-consistency-w.patch
new file mode 100644
index 0000000..dc35c94
--- /dev/null
+++ b/0065-firstboot-set-all-spwd-fields-to-1-for-consistency-w.patch
@@ -0,0 +1,28 @@
+From 646308cdc78e95caa311d6d140379ce24954c068 Mon Sep 17 00:00:00 2001
+From: Ivan Shapovalov <intelfx100 at gmail.com>
+Date: Thu, 26 Feb 2015 02:46:24 +0300
+Subject: [PATCH] firstboot: set all spwd fields to -1 for consistency with
+ sysusers
+
+(cherry picked from commit ad525df851a1bef7369fe21b5cde382941e7b073)
+---
+ src/firstboot/firstboot.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/firstboot/firstboot.c b/src/firstboot/firstboot.c
+index a765d6d219..a37ca170fb 100644
+--- a/src/firstboot/firstboot.c
++++ b/src/firstboot/firstboot.c
+@@ -525,9 +525,9 @@ static int process_root_password(void) {
+
+ struct spwd item = {
+ .sp_namp = (char*) "root",
+- .sp_min = 0,
+- .sp_max = 99999,
+- .sp_warn = 7,
++ .sp_min = -1,
++ .sp_max = -1,
++ .sp_warn = -1,
+ .sp_inact = -1,
+ .sp_expire = -1,
+ .sp_flag = (unsigned long) -1, /* this appears to be what everybody does ... */
diff --git a/0066-sysusers-do-not-reject-users-with-already-present-et.patch b/0066-sysusers-do-not-reject-users-with-already-present-et.patch
new file mode 100644
index 0000000..e92da59
--- /dev/null
+++ b/0066-sysusers-do-not-reject-users-with-already-present-et.patch
@@ -0,0 +1,77 @@
+From 3f25df7d013a98f7a60b216f1687e95ff6a6cbbb Mon Sep 17 00:00:00 2001
+From: Ivan Shapovalov <intelfx100 at gmail.com>
+Date: Sat, 7 Mar 2015 18:11:32 +0300
+Subject: [PATCH] sysusers: do not reject users with already present
+ /etc/shadow entries
+
+This is needed to interoperate firstboot and sysusers. The former one is started
+first, and it writes only /etc/shadow when it is told to set the root password.
+It's better to relax checks here than to duplicate functionality in firstboot.
+
+(cherry picked from commit c5abf22514b3925aa6f0d4a3f36f76799bf1911b)
+---
+ src/sysusers/sysusers.c | 23 +++++++++--------------
+ 1 file changed, 9 insertions(+), 14 deletions(-)
+
+diff --git a/src/sysusers/sysusers.c b/src/sysusers/sysusers.c
+index e47bcb4dca..76b5962c51 100644
+--- a/src/sysusers/sysusers.c
++++ b/src/sysusers/sysusers.c
+@@ -605,6 +605,8 @@ static int write_files(void) {
+ if (r < 0)
+ goto finish;
+
++ lstchg = (long) (now(CLOCK_REALTIME) / USEC_PER_DAY);
++
+ original = fopen(shadow_path, "re");
+ if (original) {
+ struct spwd *sp;
+@@ -618,8 +620,13 @@ static int write_files(void) {
+
+ i = hashmap_get(users, sp->sp_namp);
+ if (i && i->todo_user) {
+- r = -EEXIST;
+- goto finish;
++ /* we will update the existing entry */
++ sp->sp_lstchg = lstchg;
++
++ /* only the /etc/shadow stage is left, so we can
++ * safely remove the item from the todo set */
++ i->todo_user = false;
++ hashmap_remove(todo_uids, UID_TO_PTR(i->uid));
+ }
+
+ errno = 0;
+@@ -642,7 +649,6 @@ static int write_files(void) {
+ goto finish;
+ }
+
+- lstchg = (long) (now(CLOCK_REALTIME) / USEC_PER_DAY);
+ HASHMAP_FOREACH(i, todo_uids, iterator) {
+ struct spwd n = {
+ .sp_namp = i->name,
+@@ -879,7 +885,6 @@ static int add_user(Item *i) {
+
+ if (!arg_root) {
+ struct passwd *p;
+- struct spwd *sp;
+
+ /* Also check NSS */
+ errno = 0;
+@@ -895,16 +900,6 @@ static int add_user(Item *i) {
+ }
+ if (!IN_SET(errno, 0, ENOENT))
+ return log_error_errno(errno, "Failed to check if user %s already exists: %m", i->name);
+-
+- /* And shadow too, just to be sure */
+- errno = 0;
+- sp = getspnam(i->name);
+- if (sp) {
+- log_error("User %s already exists in shadow database, but not in user database.", i->name);
+- return -EBADMSG;
+- }
+- if (!IN_SET(errno, 0, ENOENT))
+- return log_error_errno(errno, "Failed to check if user %s already exists in shadow database: %m", i->name);
+ }
+
+ /* Try to use the suggested numeric uid */
diff --git a/0067-nspawn-fix-use-after-free-and-leak-in-error-paths.patch b/0067-nspawn-fix-use-after-free-and-leak-in-error-paths.patch
new file mode 100644
index 0000000..dc0a610
--- /dev/null
+++ b/0067-nspawn-fix-use-after-free-and-leak-in-error-paths.patch
@@ -0,0 +1,40 @@
+From fa09f5c3ceef08947225a9c39edb09411f3929d4 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek at in.waw.pl>
+Date: Sat, 7 Mar 2015 14:19:20 -0500
+Subject: [PATCH] nspawn: fix use-after-free and leak in error paths
+
+CID #1257765.
+
+(cherry picked from commit 8a16a7b4e7f6702a7e6edaead80ecf04be7d3ba2)
+---
+ src/nspawn/nspawn.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
+index 7724df96bd..78bd584834 100644
+--- a/src/nspawn/nspawn.c
++++ b/src/nspawn/nspawn.c
+@@ -3627,7 +3627,7 @@ int main(int argc, char *argv[]) {
+ }
+
+ if (arg_ephemeral) {
+- char *np;
++ _cleanup_free_ char *np = NULL;
+
+ /* If the specified path is a mount point we
+ * generate the new snapshot immediately
+@@ -3657,13 +3657,13 @@ int main(int argc, char *argv[]) {
+
+ r = btrfs_subvol_snapshot(arg_directory, np, arg_read_only, true);
+ if (r < 0) {
+- free(np);
+ log_error_errno(r, "Failed to create snapshot %s from %s: %m", np, arg_directory);
+ goto finish;
+ }
+
+ free(arg_directory);
+ arg_directory = np;
++ np = NULL;
+
+ remove_subvol = true;
+
diff --git a/0068-login-fix-copy-pasto-in-error-path.patch b/0068-login-fix-copy-pasto-in-error-path.patch
new file mode 100644
index 0000000..567c12d
--- /dev/null
+++ b/0068-login-fix-copy-pasto-in-error-path.patch
@@ -0,0 +1,25 @@
+From c29a899e634e5b16c7afcce1ac7c28514988a9f6 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek at in.waw.pl>
+Date: Sat, 7 Mar 2015 14:23:38 -0500
+Subject: [PATCH] login: fix copy-pasto in error path
+
+CID #1256583.
+
+(cherry picked from commit dcee01125dde502bd8108c36ddf2026c1348865f)
+---
+ src/login/inhibit.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/login/inhibit.c b/src/login/inhibit.c
+index 44bda34aff..88af23e35c 100644
+--- a/src/login/inhibit.c
++++ b/src/login/inhibit.c
+@@ -260,7 +260,7 @@ int main(int argc, char *argv[]) {
+
+ fd = inhibit(bus, &error);
+ if (fd < 0) {
+- log_error("Failed to inhibit: %s", bus_error_message(&error, -r));
++ log_error("Failed to inhibit: %s", bus_error_message(&error, fd));
+ return EXIT_FAILURE;
+ }
+
diff --git a/0069-journalctl-update-hint-now-that-we-set-ACL-everywher.patch b/0069-journalctl-update-hint-now-that-we-set-ACL-everywher.patch
new file mode 100644
index 0000000..8538c76
--- /dev/null
+++ b/0069-journalctl-update-hint-now-that-we-set-ACL-everywher.patch
@@ -0,0 +1,63 @@
+From e8d55cb62e0c12b09d3fa02f4fc1a1e0b197020b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek at in.waw.pl>
+Date: Sun, 8 Mar 2015 11:04:59 -0400
+Subject: [PATCH] journalctl: update hint now that we set ACL everywhere
+
+(cherry picked from commit 05c1853093d8c4e4aa16876b5129b65dac5abd01)
+---
+ src/journal/journalctl.c | 25 +++++++++++--------------
+ 1 file changed, 11 insertions(+), 14 deletions(-)
+
+diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c
+index 55c7786331..12c869f5af 100644
+--- a/src/journal/journalctl.c
++++ b/src/journal/journalctl.c
+@@ -1542,10 +1542,17 @@ static int access_check_var_log_journal(sd_journal *j) {
+ have_access = in_group("systemd-journal") > 0;
+
+ if (!have_access) {
++ const char* dir;
++
++ if (access("/run/log/journal", F_OK) >= 0)
++ dir = "/run/log/journal";
++ else
++ dir = "/var/log/journal";
++
+ /* Let's enumerate all groups from the default ACL of
+ * the directory, which generally should allow access
+ * to most journal files too */
+- r = search_acl_groups(&g, "/var/log/journal/", &have_access);
++ r = search_acl_groups(&g, dir, &have_access);
+ if (r < 0)
+ return r;
+ }
+@@ -1571,7 +1578,7 @@ static int access_check_var_log_journal(sd_journal *j) {
+ return log_oom();
+
+ log_notice("Hint: You are currently not seeing messages from other users and the system.\n"
+- " Users in the groups '%s' can see all messages.\n"
++ " Users in groups '%s' can see all messages.\n"
+ " Pass -q to turn off this notice.", s);
+ }
+ }
+@@ -1595,18 +1602,8 @@ static int access_check(sd_journal *j) {
+
+ if (set_contains(j->errors, INT_TO_PTR(-EACCES))) {
+ #ifdef HAVE_ACL
+- /* If /var/log/journal doesn't even exist,
+- * unprivileged users have no access at all */
+- if (access("/var/log/journal", F_OK) < 0 &&
+- geteuid() != 0 &&
+- in_group("systemd-journal") <= 0) {
+- log_error("Unprivileged users cannot access messages, unless persistent log storage is\n"
+- "enabled. Users in the 'systemd-journal' group may always access messages.");
+- return -EACCES;
+- }
+-
+- /* If /var/log/journal exists, try to pring a nice
+- notice if the user lacks access to it */
++ /* If /run/log/journal or /var/log/journal exist, try
++ to pring a nice notice if the user lacks access to it. */
+ if (!arg_quiet && geteuid() != 0) {
+ r = access_check_var_log_journal(j);
+ if (r < 0)
diff --git a/0070-sd-journal-return-error-when-we-cannot-open-a-file.patch b/0070-sd-journal-return-error-when-we-cannot-open-a-file.patch
new file mode 100644
index 0000000..42beb07
--- /dev/null
+++ b/0070-sd-journal-return-error-when-we-cannot-open-a-file.patch
@@ -0,0 +1,26 @@
+From 67c29191b0d4880decb771f2ed5cd155a4de09db Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek at in.waw.pl>
+Date: Sun, 8 Mar 2015 11:11:50 -0400
+Subject: [PATCH] sd-journal: return error when we cannot open a file
+
+Lack of this caused journalctl not to display a hint about missing groups
+properly when the user lacks permissions.
+
+(cherry picked from commit 7b300be75e6d5755778dd7da63e7147866f21351)
+---
+ src/journal/sd-journal.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/journal/sd-journal.c b/src/journal/sd-journal.c
+index 9b57e5945d..9b9e8ac859 100644
+--- a/src/journal/sd-journal.c
++++ b/src/journal/sd-journal.c
+@@ -1248,7 +1248,7 @@ static int add_file(sd_journal *j, const char *prefix, const char *filename) {
+ r = add_any_file(j, path);
+ if (r == -ENOENT)
+ return 0;
+- return 0;
++ return r;
+ }
+
+ static int remove_file(sd_journal *j, const char *prefix, const char *filename) {
diff --git a/0071-missing.h-add-NDA_.patch b/0071-missing.h-add-NDA_.patch
new file mode 100644
index 0000000..093e8d7
--- /dev/null
+++ b/0071-missing.h-add-NDA_.patch
@@ -0,0 +1,70 @@
+From e1deb661ba31023c77aaac6656da514654df3393 Mon Sep 17 00:00:00 2001
+From: Michael Olbrich <m.olbrich at pengutronix.de>
+Date: Mon, 9 Mar 2015 12:27:25 +0100
+Subject: [PATCH] missing.h: add NDA_*
+
+This is necessary to build with older kernel headers. NDA_VLAN was
+introduced in v3.9 and NDA_PORT, NDA_VNI and NDA_IFINDEX in v3.10
+
+(cherry picked from commit cf1755bac0426132c21fdca519a336ce7d920277)
+---
+ configure.ac | 4 +++-
+ src/shared/missing.h | 16 ++++++++++++++++
+ 2 files changed, 19 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 6bc347423b..14a7736a9e 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -333,7 +333,8 @@ AC_CHECK_DECLS([IFLA_INET6_ADDR_GEN_MODE,
+ IFLA_VXLAN_LOCAL6,
+ IFLA_IPTUN_6RD_RELAY_PREFIXLEN,
+ IFLA_BRIDGE_VLAN_INFO,
+- IFLA_BRPORT_UNICAST_FLOOD],
++ IFLA_BRPORT_UNICAST_FLOOD,
++ NDA_IFINDEX],
+ [], [], [[
+ #include <inttypes.h>
+ #include <netinet/in.h>
+@@ -344,6 +345,7 @@ AC_CHECK_DECLS([IFLA_INET6_ADDR_GEN_MODE,
+ #include <linux/if_tunnel.h>
+ #include <linux/if_link.h>
+ #include <linux/if_bridge.h>
++#include <linux/neighbour.h>
+ ]])
+
+ # This makes sure pkg.m4 is available.
+diff --git a/src/shared/missing.h b/src/shared/missing.h
+index e72631e130..802b4957e0 100644
+--- a/src/shared/missing.h
++++ b/src/shared/missing.h
+@@ -35,6 +35,7 @@
+ #include <linux/loop.h>
+ #include <linux/audit.h>
+ #include <linux/capability.h>
++#include <linux/neighbour.h>
+
+ #ifdef HAVE_AUDIT
+ #include <libaudit.h>
+@@ -623,6 +624,21 @@ static inline int setns(int fd, int nstype) {
+ #define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1)
+ #endif
+
++#if !HAVE_DECL_NDA_IFINDEX
++#define NDA_UNSPEC 0
++#define NDA_DST 1
++#define NDA_LLADDR 2
++#define NDA_CACHEINFO 3
++#define NDA_PROBES 4
++#define NDA_VLAN 5
++#define NDA_PORT 6
++#define NDA_VNI 7
++#define NDA_IFINDEX 8
++#define __NDA_MAX 9
++
++#define NDA_MAX (__NDA_MAX - 1)
++#endif
++
+ #ifndef IPV6_UNICAST_IF
+ #define IPV6_UNICAST_IF 76
+ #endif
diff --git a/0072-udevd-close-race-in-udev-settle.patch b/0072-udevd-close-race-in-udev-settle.patch
new file mode 100644
index 0000000..925baba
--- /dev/null
+++ b/0072-udevd-close-race-in-udev-settle.patch
@@ -0,0 +1,85 @@
+From 0c9591e78e2dde262865e3c683d2fbd80692d4ff Mon Sep 17 00:00:00 2001
+From: Tom Gundersen <teg at jklm.no>
+Date: Mon, 9 Mar 2015 16:16:23 +0100
+Subject: [PATCH] udevd: close race in udev settle
+
+The udev-settle guarantees that udevd is no longer processing any of the
+events casued by udev-trigger. The way this works is that it sends a
+synchronous PING to udevd after udev-trigger has ran, and when that returns
+it knows that udevd has started processing the events from udev-trigger.
+udev-settle will then wait for the event queue to empty before returning.
+
+However, there was a race here, as we would only update the /run state at
+the beginning of the event loop, before reading out new events and before
+processing the ping.
+
+That means that if the first uevent arrived in the same event-loop iteration
+as the PING, we would return the ping before updating the queue state in /run
+(which would happen on the next iteration).
+
+The race window here is tiny (as the /run state would probably get updated
+before udev-settle got a chance to read /run), but still a possibility.
+
+Fix the problem by updating the /run state as the last step before returning
+the PING.
+
+We must still update it at the beginning of the loop as well, otherwise we
+risk being stuck in poll() with a stale state in /run.
+
+Reported-by: Daniel Drake <drake at endlessm.com>
+(cherry picked from commit db93e063bdffe0a8b95fcc522aeacddf62d1a9f9)
+---
+ src/udev/udevd.c | 26 +++++++++++++++++---------
+ 1 file changed, 17 insertions(+), 9 deletions(-)
+
+diff --git a/src/udev/udevd.c b/src/udev/udevd.c
+index 99d4c8983a..e98c1fd6da 100644
+--- a/src/udev/udevd.c
++++ b/src/udev/udevd.c
+@@ -909,6 +909,17 @@ static void handle_signal(struct udev *udev, int signo) {
+ }
+ }
+
++static void event_queue_update(void) {
++ 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");
++}
++
+ static int systemd_fds(struct udev *udev, int *rctrl, int *rnetlink) {
+ int ctrl = -1, netlink = -1;
+ int fd, n;
+@@ -1369,15 +1380,7 @@ int main(int argc, char *argv[]) {
+ }
+
+ /* 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");
+- }
++ event_queue_update();
+
+ fdcount = epoll_wait(fd_ep, ev, ELEMENTSOF(ev), timeout);
+ if (fdcount < 0)
+@@ -1502,6 +1505,11 @@ int main(int argc, char *argv[]) {
+ if (is_inotify)
+ handle_inotify(udev);
+
++ /* tell settle that we are busy or idle, this needs to be before the
++ * PING handling
++ */
++ event_queue_update();
++
+ /*
+ * This needs to be after the inotify handling, to make sure,
+ * that the ping is send back after the possibly generated
diff --git a/0073-man-document-that-ExecStartPre-is-not-the-place-to-s.patch b/0073-man-document-that-ExecStartPre-is-not-the-place-to-s.patch
new file mode 100644
index 0000000..c045c4b
--- /dev/null
+++ b/0073-man-document-that-ExecStartPre-is-not-the-place-to-s.patch
@@ -0,0 +1,27 @@
+From 5180cbe32605e4ae5d1b8870a845d6bde73af168 Mon Sep 17 00:00:00 2001
+From: Lennart Poettering <lennart at poettering.net>
+Date: Mon, 9 Mar 2015 18:01:47 +0100
+Subject: [PATCH] man: document that ExecStartPre= is not the place to start
+ long-running processes
+
+(cherry picked from commit b481de3b22fcd838a8f059aed8745375afdb9eca)
+---
+ man/systemd.service.xml | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/man/systemd.service.xml b/man/systemd.service.xml
+index c03b4e8a54..f598705633 100644
+--- a/man/systemd.service.xml
++++ b/man/systemd.service.xml
+@@ -334,6 +334,11 @@
+ <para>If any of those commands (not prefixed with
+ <literal>-</literal>) fail, the rest are not executed and the
+ unit is considered failed.</para>
++
++ <para>Note that <varname>ExecStartPre=</varname> may not be
++ used to start long-running processes. All processes forked
++ off by processes invoked via <varname>ExecStartPre=</varname> will
++ be killed before the next service process is run.</para>
+ </listitem>
+ </varlistentry>
+
diff --git a/0074-journal-fix-return-code.patch b/0074-journal-fix-return-code.patch
new file mode 100644
index 0000000..caff010
--- /dev/null
+++ b/0074-journal-fix-return-code.patch
@@ -0,0 +1,31 @@
+From c59d61522d87fdaca015f51466d7357288a95110 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek at in.waw.pl>
+Date: Mon, 9 Mar 2015 17:46:30 -0400
+Subject: [PATCH] journal: fix return code
+
+Introduced in fa6ac76083b8ff.
+
+Might be related to CID #1261724, but I don't know if coverity can
+recurse this deep.
+
+(cherry picked from commit 977eaa1eae53af7f418d87fcb42f4a4d34aad739)
+---
+ src/journal/journal-file.c | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c
+index 24c49b916a..f500568fec 100644
+--- a/src/journal/journal-file.c
++++ b/src/journal/journal-file.c
+@@ -2652,10 +2652,8 @@ int journal_file_open(
+ }
+
+ r = mmap_cache_get(f->mmap, f->fd, f->prot, CONTEXT_HEADER, true, 0, PAGE_ALIGN(sizeof(Header)), &f->last_stat, &h);
+- if (r < 0) {
+- r = -errno;
++ if (r < 0)
+ goto fail;
+- }
+
+ f->header = h;
+
diff --git a/0075-console-fix-error-code-inversion.patch b/0075-console-fix-error-code-inversion.patch
new file mode 100644
index 0000000..9e4ce33
--- /dev/null
+++ b/0075-console-fix-error-code-inversion.patch
@@ -0,0 +1,27 @@
+From c04228cbd9373f2e5242e871ef1cb8878559f27e Mon Sep 17 00:00:00 2001
+From: David Herrmann <dh.herrmann at gmail.com>
+Date: Tue, 16 Dec 2014 16:14:48 +0100
+Subject: [PATCH] console: fix error-code inversion
+
+The error-code propagated via sysview is always negative. Avoid
+multiplying by -1 before returning it. Otherwise, we will return >0
+instead of <0, which will not be detected as error by sysview-core.
+
+(cherry picked from commit 84c3561c58dd992b339afe5bb4c41971a2ebc486)
+---
+ src/console/consoled-manager.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/console/consoled-manager.c b/src/console/consoled-manager.c
+index 9dd62f04a0..25de0a218f 100644
+--- a/src/console/consoled-manager.c
++++ b/src/console/consoled-manager.c
+@@ -228,7 +228,7 @@ static int manager_sysview_session_control(Manager *m, sysview_event *event) {
+ sysview_session_get_name(session));
+ session_free(s);
+ sysview_session_set_userdata(session, NULL);
+- return -error;
++ return error;
+ }
+
+ return 0;
diff --git a/0076-bus-proxy-complain-only-once-about-queue-overflows.patch b/0076-bus-proxy-complain-only-once-about-queue-overflows.patch
new file mode 100644
index 0000000..de8e8d9
--- /dev/null
+++ b/0076-bus-proxy-complain-only-once-about-queue-overflows.patch
@@ -0,0 +1,72 @@
+From c98114c5e5c5b9d1e8fea75a0bfb37f0d329fd36 Mon Sep 17 00:00:00 2001
+From: David Herrmann <dh.herrmann at gmail.com>
+Date: Wed, 11 Mar 2015 13:53:21 +0100
+Subject: [PATCH] bus-proxy: complain only once about queue overflows
+
+If the local peer does not dispatch its incoming queue, the bus-proxy will
+slowly fill its outgoing queue. Once its full, it will continously
+complain that it cannot forward its messages.
+
+As it turns out, pulseaudio does have an idle background dbus connection
+that is not integrated into any mainloop (and given that gdbus and
+libdbus1 both support background shared connections, PA is probably not
+the only example), therefore, the bus-proxy will loudly complain if it
+cannot forward NameOwnerChanged events once the queue is full.
+
+This commit makes the proxy track queue-state and complain only once the
+queue runs full, not if it is already full.
+
+A PA bug-report (and patch) has been filed, and other applications should
+be fixed similarly. Hence, lets keep the error message, instead of
+dropping it. It's unused resources we really want to get rid of, so
+silencing the message does not really help (which is actually what
+dbus-daemon does).
+
+(cherry picked from commit ec2c7b56599981a7d9e76b15c75af3e1af3e6f81)
+---
+ src/bus-proxyd/proxy.c | 16 ++++++++++++----
+ src/bus-proxyd/proxy.h | 1 +
+ 2 files changed, 13 insertions(+), 4 deletions(-)
+
+diff --git a/src/bus-proxyd/proxy.c b/src/bus-proxyd/proxy.c
+index 3dea908f5b..e13cf5e2ea 100644
+--- a/src/bus-proxyd/proxy.c
++++ b/src/bus-proxyd/proxy.c
+@@ -729,13 +729,21 @@ static int proxy_process_destination_to_local(Proxy *p) {
+
+ /* Return the error to the client, if we can */
+ synthetic_reply_method_errnof(m, r, "Failed to forward message we got from destination: %m");
+- log_error_errno(r,
+- "Failed to forward message we got from destination: uid=" UID_FMT " gid=" GID_FMT" message=%s destination=%s path=%s interface=%s member=%s: %m",
+- p->local_creds.uid, p->local_creds.gid, bus_message_type_to_string(m->header->type),
+- strna(m->destination), strna(m->path), strna(m->interface), strna(m->member));
++ if (r == -ENOBUFS) {
++ /* if local dbus1 peer does not dispatch its queue, warn only once */
++ if (!p->queue_overflow)
++ log_error("Dropped messages due to queue overflow of local peer (pid: "PID_FMT" uid: "UID_FMT")", p->local_creds.pid, p->local_creds.uid);
++ p->queue_overflow = true;
++ } else
++ log_error_errno(r,
++ "Failed to forward message we got from destination: uid=" UID_FMT " gid=" GID_FMT" message=%s destination=%s path=%s interface=%s member=%s: %m",
++ p->local_creds.uid, p->local_creds.gid, bus_message_type_to_string(m->header->type),
++ strna(m->destination), strna(m->path), strna(m->interface), strna(m->member));
++
+ return 1;
+ }
+
++ p->queue_overflow = false;
+ return 1;
+ }
+
+diff --git a/src/bus-proxyd/proxy.h b/src/bus-proxyd/proxy.h
+index 913d47071b..782c4e60b3 100644
+--- a/src/bus-proxyd/proxy.h
++++ b/src/bus-proxyd/proxy.h
+@@ -40,6 +40,7 @@ struct Proxy {
+ SharedPolicy *policy;
+
+ bool got_hello : 1;
++ bool queue_overflow : 1;
+ };
+
+ int proxy_new(Proxy **out, int in_fd, int out_fd, const char *dest);
diff --git a/0077-cgtop-fix-assert-when-not-on-tty.patch b/0077-cgtop-fix-assert-when-not-on-tty.patch
new file mode 100644
index 0000000..ef993b7
--- /dev/null
+++ b/0077-cgtop-fix-assert-when-not-on-tty.patch
@@ -0,0 +1,31 @@
+From b964d7b5736871e9bc7e07df209006d5da86cbe6 Mon Sep 17 00:00:00 2001
+From: Umut Tezduyar Lindskog <umut.tezduyar at axis.com>
+Date: Wed, 11 Mar 2015 11:24:18 +0100
+Subject: [PATCH] cgtop: fix assert when not on tty
+
+systemd-cgtop --dept=1 -b -n 10 -d 0.1 | cat
+
+Assertion 'new_length >= 3' failed at src/shared/util.c:3 \
+595, function ellipsize_mem(). Aborting.
+Aborted (core dumped)
+
+(David: add comment)
+
+(cherry picked from commit 510c4a0f1e7e7efe2897d2fbb9067f121467b103)
+---
+ src/cgtop/cgtop.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/cgtop/cgtop.c b/src/cgtop/cgtop.c
+index 3c7ad40605..f951c37cbc 100644
+--- a/src/cgtop/cgtop.c
++++ b/src/cgtop/cgtop.c
+@@ -447,7 +447,7 @@ static int display(Hashmap *a) {
+ Group *g;
+ Group **array;
+ signed path_columns;
+- unsigned rows, n = 0, j, maxtcpu = 0, maxtpath = 0;
++ unsigned rows, n = 0, j, maxtcpu = 0, maxtpath = 3; /* 3 for ellipsize() to work properly */
+ char buffer[MAX3(21, FORMAT_BYTES_MAX, FORMAT_TIMESPAN_MAX)];
+
+ assert(a);
diff --git a/0078-man-split-paragraph.patch b/0078-man-split-paragraph.patch
new file mode 100644
index 0000000..94fd8db
--- /dev/null
+++ b/0078-man-split-paragraph.patch
@@ -0,0 +1,28 @@
+From f6aeb4c2de958ed625edacb6b14a5e4cca6d726c Mon Sep 17 00:00:00 2001
+From: David Herrmann <dh.herrmann at gmail.com>
+Date: Thu, 12 Mar 2015 12:46:46 +0100
+Subject: [PATCH] man: split paragraph
+
+Explicitly put the "multiple EnvironmentFile=" description into its own
+paragraph to make it much easier to find.
+
+(cherry picked from commit f407824d751a9cb31abfdf0343fe179e0efef259)
+---
+ man/systemd.exec.xml | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/man/systemd.exec.xml b/man/systemd.exec.xml
+index 11b160e58f..fdb1578641 100644
+--- a/man/systemd.exec.xml
++++ b/man/systemd.exec.xml
+@@ -283,7 +283,9 @@
+ shortly before the process is executed (more specifically,
+ after all processes from a previous unit state terminated.
+ This means you can generate these files in one unit state, and
+- read it with this option in the next). Settings from these
++ read it with this option in the next).</para>
++
++ <para>Settings from these
+ files override settings made with
+ <varname>Environment=</varname>. If the same variable is set
+ twice from these files, the files will be read in the order
diff --git a/0079-hwdb-update.patch b/0079-hwdb-update.patch
new file mode 100644
index 0000000..8a940c6
--- /dev/null
+++ b/0079-hwdb-update.patch
@@ -0,0 +1,3156 @@
+From 9ac622b00ca23f9d01e0ff0c944130be8dc3a0e9 Mon Sep 17 00:00:00 2001
+From: Kay Sievers <kay at vrfy.org>
+Date: Thu, 12 Mar 2015 18:34:23 +0100
+Subject: [PATCH] hwdb: update
+
+(cherry picked from commit b83cbcb7d95482baa588706227f01bbbe44b9d12)
+---
+ hwdb/20-OUI.hwdb | 247 ++++++++++-
+ hwdb/20-pci-vendor-model.hwdb | 936 +++++++++++++++++++++++++++--------------
+ hwdb/20-sdio-vendor-model.hwdb | 30 ++
+ hwdb/20-usb-vendor-model.hwdb | 181 +++++++-
+ 4 files changed, 1060 insertions(+), 334 deletions(-)
+
+diff --git a/hwdb/20-OUI.hwdb b/hwdb/20-OUI.hwdb
+index 6976bdf649..deb323d34c 100644
+--- a/hwdb/20-OUI.hwdb
++++ b/hwdb/20-OUI.hwdb
+@@ -28829,7 +28829,7 @@ OUI:0013EB*
+ ID_OUI_FROM_DATABASE=Sysmaster Corporation
+
+ OUI:0013EC*
+- ID_OUI_FROM_DATABASE=Sunbay Software AG
++ ID_OUI_FROM_DATABASE=Netsnapper Technologies SARL
+
+ OUI:0013ED*
+ ID_OUI_FROM_DATABASE=PSIA
+@@ -44296,6 +44296,9 @@ OUI:0030FE*
+ OUI:0030FF*
+ ID_OUI_FROM_DATABASE=DATAFAB SYSTEMS, INC.
+
++OUI:00323A*
++ ID_OUI_FROM_DATABASE=so-logic
++
+ OUI:00336C*
+ ID_OUI_FROM_DATABASE=SynapSense Corporation
+
+@@ -44513,7 +44516,7 @@ OUI:004035*
+ ID_OUI_FROM_DATABASE=OPCOM
+
+ OUI:004036*
+- ID_OUI_FROM_DATABASE=TRIBE COMPUTER WORKS, INC.
++ ID_OUI_FROM_DATABASE=Zoom Telephonics, Inc
+
+ OUI:004037*
+ ID_OUI_FROM_DATABASE=SEA-ILAN, INC.
+@@ -50456,7 +50459,7 @@ OUI:00D093*
+ ID_OUI_FROM_DATABASE=TQ - COMPONENTS GMBH
+
+ OUI:00D094*
+- ID_OUI_FROM_DATABASE=TIMELINE VISTA, INC.
++ ID_OUI_FROM_DATABASE=Seeion Control LLC
+
+ OUI:00D095*
+ ID_OUI_FROM_DATABASE=Alcatel-Lucent, Enterprise Business Group
+@@ -52561,6 +52564,9 @@ OUI:082719*
+ OUI:082AD0*
+ ID_OUI_FROM_DATABASE=SRD Innovations Inc.
+
++OUI:082CB0*
++ ID_OUI_FROM_DATABASE=Network Instruments
++
+ OUI:082E5F*
+ ID_OUI_FROM_DATABASE=Hewlett Packard
+
+@@ -52699,6 +52705,9 @@ OUI:088E4F*
+ OUI:088F2C*
+ ID_OUI_FROM_DATABASE=Hills Sound Vision & Lighting
+
++OUI:08952A*
++ ID_OUI_FROM_DATABASE=Technicolor CH USA Inc
++
+ OUI:0896D7*
+ ID_OUI_FROM_DATABASE=AVM GmbH
+
+@@ -52804,6 +52813,9 @@ OUI:08EB74*
+ OUI:08EBED*
+ ID_OUI_FROM_DATABASE=World Elite Technology Co.,LTD
+
++OUI:08ECA9*
++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
++
+ OUI:08EDB9*
+ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd.
+
+@@ -53320,6 +53332,9 @@ OUI:103DEA*
+ OUI:1040F3*
+ ID_OUI_FROM_DATABASE=Apple
+
++OUI:10417F*
++ ID_OUI_FROM_DATABASE=Apple Inc
++
+ OUI:104369*
+ ID_OUI_FROM_DATABASE=Soundmax Electronic Limited
+
+@@ -53611,6 +53626,9 @@ OUI:141330*
+ OUI:14144B*
+ ID_OUI_FROM_DATABASE=FUJIAN STAR-NET COMMUNICATION CO.,LTD
+
++OUI:14157C*
++ ID_OUI_FROM_DATABASE=TOKYO COSMOS ELECTRIC CO.,LTD.
++
+ OUI:141A51*
+ ID_OUI_FROM_DATABASE=Treetech Sistemas Digitais
+
+@@ -53656,6 +53674,9 @@ OUI:14307A*
+ OUI:1430C6*
+ ID_OUI_FROM_DATABASE=Motorola Mobility LLC
+
++OUI:1432D1*
++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
++
+ OUI:14358B*
+ ID_OUI_FROM_DATABASE=Mediabridge Products, LLC.
+
+@@ -53716,6 +53737,9 @@ OUI:1458D0*
+ OUI:145A05*
+ ID_OUI_FROM_DATABASE=Apple
+
++OUI:145A83*
++ ID_OUI_FROM_DATABASE=Logi-D inc
++
+ OUI:145BD1*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+@@ -53929,6 +53953,9 @@ OUI:181420*
+ OUI:181456*
+ ID_OUI_FROM_DATABASE=Nokia Corporation
+
++OUI:1816C9*
++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
++
+ OUI:181714*
+ ID_OUI_FROM_DATABASE=DAEWOOIS
+
+@@ -54049,6 +54076,9 @@ OUI:185936*
+ OUI:185AE8*
+ ID_OUI_FROM_DATABASE=Zenotech.Co.,Ltd
+
++OUI:185D9A*
++ ID_OUI_FROM_DATABASE=BobjGear LLC
++
+ OUI:18622C*
+ ID_OUI_FROM_DATABASE=SAGEMCOM SAS
+
+@@ -54532,6 +54562,9 @@ OUI:1CAB01*
+ OUI:1CABA7*
+ ID_OUI_FROM_DATABASE=Apple
+
++OUI:1CADD1*
++ ID_OUI_FROM_DATABASE=Bosung Electronics Co., Ltd.
++
+ OUI:1CAF05*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+@@ -54937,6 +54970,9 @@ OUI:20DCE6*
+ OUI:20DF3F*
+ ID_OUI_FROM_DATABASE=Nanjing SAC Power Grid Automation Co., Ltd.
+
++OUI:20E407*
++ ID_OUI_FROM_DATABASE=Spark srl
++
+ OUI:20E52A*
+ ID_OUI_FROM_DATABASE=NETGEAR INC.,
+
+@@ -55252,6 +55288,9 @@ OUI:24E271*
+ OUI:24E314*
+ ID_OUI_FROM_DATABASE=Apple
+
++OUI:24E5AA*
++ ID_OUI_FROM_DATABASE=Philips Oral Healthcare, Inc.
++
+ OUI:24E6BA*
+ ID_OUI_FROM_DATABASE=JSC Zavod im. Kozitsky
+
+@@ -56185,6 +56224,9 @@ OUI:308730*
+ OUI:308999*
+ ID_OUI_FROM_DATABASE=Guangdong East Power Co.,
+
++OUI:3089D3*
++ ID_OUI_FROM_DATABASE=Shenzhen ucloudlink new technology co.,LTD
++
+ OUI:308CFB*
+ ID_OUI_FROM_DATABASE=Dropcam
+
+@@ -56461,6 +56503,9 @@ OUI:3476C5*
+ OUI:347877*
+ ID_OUI_FROM_DATABASE=O-NET Communications(Shenzhen) Limited
+
++OUI:347A60*
++ ID_OUI_FROM_DATABASE=Pace plc
++
+ OUI:347E39*
+ ID_OUI_FROM_DATABASE=Nokia Danmark A/S
+
+@@ -56506,6 +56551,9 @@ OUI:3499D7*
+ OUI:349A0D*
+ ID_OUI_FROM_DATABASE=ZBD Displays Ltd
+
++OUI:349B5B*
++ ID_OUI_FROM_DATABASE=Maquet GmbH
++
+ OUI:349D90*
+ ID_OUI_FROM_DATABASE=Heinzmann GmbH & CO. KG
+
+@@ -57256,6 +57304,9 @@ OUI:3CA10D*
+ OUI:3CA315*
+ ID_OUI_FROM_DATABASE=Bless Information & Communications Co., Ltd
+
++OUI:3CA31A*
++ ID_OUI_FROM_DATABASE=Oilfind International LLC
++
+ OUI:3CA72B*
+ ID_OUI_FROM_DATABASE=MRV Communications (Networks) LTD
+
+@@ -57343,6 +57394,9 @@ OUI:3CD92B*
+ OUI:3CD9CE*
+ ID_OUI_FROM_DATABASE=Eclipse WiFi
+
++OUI:3CDA2A*
++ ID_OUI_FROM_DATABASE=zte corporation
++
+ OUI:3CDF1E*
+ ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC.
+
+@@ -57592,6 +57646,9 @@ OUI:408B07*
+ OUI:408BF6*
+ ID_OUI_FROM_DATABASE=Shenzhen TCL New Technology Co; Ltd.
+
++OUI:408D5C*
++ ID_OUI_FROM_DATABASE=GIGA-BYTE TECHNOLOGY CO.,LTD.
++
+ OUI:409558*
+ ID_OUI_FROM_DATABASE=Aisino Corporation
+
+@@ -58093,6 +58150,9 @@ OUI:44ED57*
+ OUI:44EE30*
+ ID_OUI_FROM_DATABASE=Budelmann Elektronik GmbH
+
++OUI:44F436*
++ ID_OUI_FROM_DATABASE=zte corporation
++
+ OUI:44F459*
+ ID_OUI_FROM_DATABASE=Samsung Electronics
+
+@@ -58117,6 +58177,9 @@ OUI:48066A*
+ OUI:480C49*
+ ID_OUI_FROM_DATABASE=NAKAYO TELECOMMUNICATIONS,INC
+
++OUI:480FCF*
++ ID_OUI_FROM_DATABASE=Hewlett Packard
++
+ OUI:481249*
+ ID_OUI_FROM_DATABASE=Luxcom Technologies Inc.
+
+@@ -58171,6 +58234,9 @@ OUI:4846F1*
+ OUI:4846FB*
+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+
++OUI:485073*
++ ID_OUI_FROM_DATABASE=Microsoft Corporation
++
+ OUI:4851B7*
+ ID_OUI_FROM_DATABASE=Intel Corporate
+
+@@ -58636,6 +58702,9 @@ OUI:4CB199*
+ OUI:4CB4EA*
+ ID_OUI_FROM_DATABASE=HRD (S) PTE., LTD.
+
++OUI:4CB76D*
++ ID_OUI_FROM_DATABASE=Novi Security
++
+ OUI:4CB81C*
+ ID_OUI_FROM_DATABASE=SAM Electronics GmbH
+
+@@ -58705,6 +58774,9 @@ OUI:4CEB42*
+ OUI:4CEDDE*
+ ID_OUI_FROM_DATABASE=Askey Computer Corp
+
++OUI:4CEEB0*
++ ID_OUI_FROM_DATABASE=SHC Netzwerktechnik GmbH
++
+ OUI:4CF02E*
+ ID_OUI_FROM_DATABASE=Vifa Denmark A/S
+
+@@ -59032,6 +59104,9 @@ OUI:50ED94*
+ OUI:50F003*
+ ID_OUI_FROM_DATABASE=Open Stack, Inc.
+
++OUI:50F0D3*
++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
++
+ OUI:50F43C*
+ ID_OUI_FROM_DATABASE=Leeo Inc
+
+@@ -59137,6 +59212,9 @@ OUI:5439DF*
+ OUI:543D37*
+ ID_OUI_FROM_DATABASE=Ruckus Wireless
+
++OUI:5440AD*
++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
++
+ OUI:544249*
+ ID_OUI_FROM_DATABASE=Sony Corporation
+
+@@ -59170,6 +59248,9 @@ OUI:545EBD*
+ OUI:545FA9*
+ ID_OUI_FROM_DATABASE=Teracom Limited
+
++OUI:546172*
++ ID_OUI_FROM_DATABASE=ZODIAC AEROSPACE SAS
++
+ OUI:5461EA*
+ ID_OUI_FROM_DATABASE=Zaplox AB
+
+@@ -59284,6 +59365,9 @@ OUI:54BEF7*
+ OUI:54C80F*
+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD.
+
++OUI:54CD10*
++ ID_OUI_FROM_DATABASE=Panasonic Mobile Communications Co.,Ltd.
++
+ OUI:54CDA7*
+ ID_OUI_FROM_DATABASE=Fujian Shenzhou Electronic Co.,Ltd
+
+@@ -59794,6 +59878,9 @@ OUI:5C41E7*
+ OUI:5C43D2*
+ ID_OUI_FROM_DATABASE=HAZEMEYER
+
++OUI:5C4527*
++ ID_OUI_FROM_DATABASE=Juniper Networks
++
+ OUI:5C4A26*
+ ID_OUI_FROM_DATABASE=Enguity Technology Corp
+
+@@ -59911,6 +59998,9 @@ OUI:5CAAFD*
+ OUI:5CAC4C*
+ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd.
+
++OUI:5CB395*
++ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
++
+ OUI:5CB43E*
+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+
+@@ -60859,6 +60949,9 @@ OUI:64F970*
+ OUI:64F987*
+ ID_OUI_FROM_DATABASE=Avvasi Inc.
+
++OUI:64FB81*
++ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information.
++
+ OUI:64FC8C*
+ ID_OUI_FROM_DATABASE=Zonar Systems
+
+@@ -61417,6 +61510,9 @@ OUI:6C9CE9*
+ OUI:6C9CED*
+ ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC.
+
++OUI:6CA100*
++ ID_OUI_FROM_DATABASE=Intel Corporate
++
+ OUI:6CA682*
+ ID_OUI_FROM_DATABASE=EDAM information & communications
+
+@@ -61507,6 +61603,9 @@ OUI:6CD68A*
+ OUI:6CDC6A*
+ ID_OUI_FROM_DATABASE=Promethean Limited
+
++OUI:6CE01E*
++ ID_OUI_FROM_DATABASE=Modcam AB
++
+ OUI:6CE0B0*
+ ID_OUI_FROM_DATABASE=SOUND4
+
+@@ -62119,6 +62218,9 @@ OUI:747E2D*
+ OUI:748114*
+ ID_OUI_FROM_DATABASE=Apple
+
++OUI:74852A*
++ ID_OUI_FROM_DATABASE=PEGATRON CORPORATION
++
+ OUI:74867A*
+ ID_OUI_FROM_DATABASE=Dell Inc
+
+@@ -62548,6 +62650,9 @@ OUI:789ED0*
+ OUI:789F4C*
+ ID_OUI_FROM_DATABASE=HOERBIGER Elektronik GmbH
+
++OUI:789F70*
++ ID_OUI_FROM_DATABASE=Apple Inc
++
+ OUI:789F87*
+ ID_OUI_FROM_DATABASE=Siemens AG I IA PP PRM
+
+@@ -62620,6 +62725,12 @@ OUI:78B81A*
+ OUI:78BAD0*
+ ID_OUI_FROM_DATABASE=Shinybow Technology Co. Ltd.
+
++OUI:78BAF9*
++ ID_OUI_FROM_DATABASE=Cisco
++
++OUI:78BDBC*
++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
++
+ OUI:78BEB6*
+ ID_OUI_FROM_DATABASE=Enhanced Vision
+
+@@ -63002,7 +63113,7 @@ OUI:7CB21B*
+ ID_OUI_FROM_DATABASE=Cisco SPVTG
+
+ OUI:7CB232*
+- ID_OUI_FROM_DATABASE=TCL King High Frequency EI,Co.,LTD
++ ID_OUI_FROM_DATABASE=Hui Zhou Gaoshengda Technology Co.,LTD
+
+ OUI:7CB542*
+ ID_OUI_FROM_DATABASE=ACES Technology
+@@ -63133,6 +63244,9 @@ OUI:7CF429*
+ OUI:7CF854*
+ ID_OUI_FROM_DATABASE=Samsung Electronics
+
++OUI:7CF90E*
++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
++
+ OUI:7CFADF*
+ ID_OUI_FROM_DATABASE=Apple
+
+@@ -63235,6 +63349,9 @@ OUI:8038FD*
+ OUI:8039E5*
+ ID_OUI_FROM_DATABASE=PATLITE CORPORATION
+
++OUI:803B2A*
++ ID_OUI_FROM_DATABASE=ABB Xiamen Low Voltage Equipment Co.,Ltd.
++
+ OUI:803B9A*
+ ID_OUI_FROM_DATABASE=ghe-ces electronic ag
+
+@@ -63262,6 +63379,9 @@ OUI:804971*
+ OUI:804B20*
+ ID_OUI_FROM_DATABASE=Ventilation Control
+
++OUI:804E81*
++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
++
+ OUI:804F58*
+ ID_OUI_FROM_DATABASE=ThinkEco, Inc.
+
+@@ -63514,6 +63634,9 @@ OUI:840B2D*
+ OUI:840F45*
+ ID_OUI_FROM_DATABASE=Shanghai GMT Digital Technologies Co., Ltd
+
++OUI:84119E*
++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
++
+ OUI:841715*
+ ID_OUI_FROM_DATABASE=GP Electronics (HK) Ltd.
+
+@@ -63580,6 +63703,9 @@ OUI:842B50*
+ OUI:842BBC*
+ ID_OUI_FROM_DATABASE=Modelleisenbahn GmbH
+
++OUI:842E27*
++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
++
+ OUI:842F75*
+ ID_OUI_FROM_DATABASE=Innokas Group
+
+@@ -63943,6 +64069,9 @@ OUI:883612*
+ OUI:883B8B*
+ ID_OUI_FROM_DATABASE=Cheering Connection Co. Ltd.
+
++OUI:884157*
++ ID_OUI_FROM_DATABASE=Shenzhen Atsmart Technology Co.,Ltd.
++
+ OUI:8841C1*
+ ID_OUI_FROM_DATABASE=ORBISAT DA AMAZONIA IND E AEROL SA
+
+@@ -64006,6 +64135,9 @@ OUI:88708C*
+ OUI:8870EF*
+ ID_OUI_FROM_DATABASE=SC Professional Trading Co., Ltd.
+
++OUI:887384*
++ ID_OUI_FROM_DATABASE=Toshiba
++
+ OUI:887398*
+ ID_OUI_FROM_DATABASE=K2E Tekpoint
+
+@@ -64039,6 +64171,9 @@ OUI:888B5D*
+ OUI:888C19*
+ ID_OUI_FROM_DATABASE=Brady Corp Asia Pacific Ltd
+
++OUI:88908D*
++ ID_OUI_FROM_DATABASE=Cisco
++
+ OUI:889166*
+ ID_OUI_FROM_DATABASE=Viewcooper Corp.
+
+@@ -64075,6 +64210,9 @@ OUI:889FFA*
+ OUI:88A25E*
+ ID_OUI_FROM_DATABASE=juniper networks
+
++OUI:88A2D7*
++ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
++
+ OUI:88A3CC*
+ ID_OUI_FROM_DATABASE=Amatis Controls
+
+@@ -64591,6 +64729,9 @@ OUI:90203A*
+ OUI:902083*
+ ID_OUI_FROM_DATABASE=General Engine Management Systems Ltd.
+
++OUI:902106*
++ ID_OUI_FROM_DATABASE=BSkyB Ltd
++
+ OUI:902155*
+ ID_OUI_FROM_DATABASE=HTC Corporation
+
+@@ -64711,6 +64852,9 @@ OUI:9067F3*
+ OUI:9068C3*
+ ID_OUI_FROM_DATABASE=Motorola Mobility LLC
+
++OUI:906CAC*
++ ID_OUI_FROM_DATABASE=Fortinet, Inc.
++
+ OUI:906DC8*
+ ID_OUI_FROM_DATABASE=DLG Automação Industrial Ltda
+
+@@ -65254,6 +65398,9 @@ OUI:94E711*
+ OUI:94E848*
+ ID_OUI_FROM_DATABASE=FYLDE MICRO LTD
+
++OUI:94E96A*
++ ID_OUI_FROM_DATABASE=Apple Inc
++
+ OUI:94E98C*
+ ID_OUI_FROM_DATABASE=Alcatel-Lucent
+
+@@ -65935,6 +66082,9 @@ OUI:9CF938*
+ OUI:9CFBF1*
+ ID_OUI_FROM_DATABASE=MESOMATIC GmbH & Co.KG
+
++OUI:9CFC01*
++ ID_OUI_FROM_DATABASE=Apple Inc
++
+ OUI:9CFFBE*
+ ID_OUI_FROM_DATABASE=OTSL Inc.
+
+@@ -65977,6 +66127,9 @@ OUI:A0143D*
+ OUI:A0165C*
+ ID_OUI_FROM_DATABASE=Triteka LTD
+
++OUI:A01828*
++ ID_OUI_FROM_DATABASE=Apple Inc
++
+ OUI:A01859*
+ ID_OUI_FROM_DATABASE=Shenzhen Yidashi Electronics Co Ltd
+
+@@ -66178,6 +66331,9 @@ OUI:A0A23C*
+ OUI:A0A3E2*
+ ID_OUI_FROM_DATABASE=Actiontec Electronics, Inc
+
++OUI:A0A65C*
++ ID_OUI_FROM_DATABASE=Supercomputing Systems AG
++
+ OUI:A0A763*
+ ID_OUI_FROM_DATABASE=Polytron Vertrieb GmbH
+
+@@ -66382,6 +66538,9 @@ OUI:A42305*
+ OUI:A424B3*
+ ID_OUI_FROM_DATABASE=FlatFrog Laboratories AB
+
++OUI:A424DD*
++ ID_OUI_FROM_DATABASE=Cambrionix Ltd
++
+ OUI:A4251B*
+ ID_OUI_FROM_DATABASE=Avaya, Inc
+
+@@ -66397,6 +66556,9 @@ OUI:A42B8C*
+ OUI:A42C08*
+ ID_OUI_FROM_DATABASE=Masterwork Automodules
+
++OUI:A43135*
++ ID_OUI_FROM_DATABASE=Apple Inc
++
+ OUI:A433D1*
+ ID_OUI_FROM_DATABASE=Fibrlink Communications Co.,Ltd.
+
+@@ -66475,6 +66637,9 @@ OUI:A46032*
+ OUI:A46706*
+ ID_OUI_FROM_DATABASE=Apple
+
++OUI:A46C2A*
++ ID_OUI_FROM_DATABASE=Cisco
++
+ OUI:A46CC1*
+ ID_OUI_FROM_DATABASE=LTi REEnergy GmbH
+
+@@ -67066,6 +67231,9 @@ OUI:AC20AA*
+ OUI:AC220B*
+ ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC.
+
++OUI:AC293A*
++ ID_OUI_FROM_DATABASE=Apple Inc
++
+ OUI:AC2DA3*
+ ID_OUI_FROM_DATABASE=TXTR GmbH
+
+@@ -67144,6 +67312,9 @@ OUI:AC562C*
+ OUI:AC583B*
+ ID_OUI_FROM_DATABASE=Human Assembler, Inc.
+
++OUI:AC5A14*
++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
++
+ OUI:AC5D10*
+ ID_OUI_FROM_DATABASE=Pace Americas
+
+@@ -67153,6 +67324,9 @@ OUI:AC5E8C*
+ OUI:AC6123*
+ ID_OUI_FROM_DATABASE=Drivven, Inc.
+
++OUI:AC620D*
++ ID_OUI_FROM_DATABASE=Jabil Circuit (Wuxi) Co. LTD
++
+ OUI:AC6706*
+ ID_OUI_FROM_DATABASE=Ruckus Wireless
+
+@@ -67180,6 +67354,9 @@ OUI:AC7289*
+ OUI:AC7A42*
+ ID_OUI_FROM_DATABASE=iConnectivity
+
++OUI:AC7A4D*
++ ID_OUI_FROM_DATABASE=ALPS ELECTRIC CO.,LTD.
++
+ OUI:AC7BA1*
+ ID_OUI_FROM_DATABASE=Intel Corporate
+
+@@ -67402,6 +67579,9 @@ OUI:ACF7F3*
+ OUI:ACF97E*
+ ID_OUI_FROM_DATABASE=ELESYS INC.
+
++OUI:ACFD93*
++ ID_OUI_FROM_DATABASE=Weifang GoerTek Electronics Co., Ltd.
++
+ OUI:ACFDCE*
+ ID_OUI_FROM_DATABASE=Intel Corporate
+
+@@ -67688,7 +67868,7 @@ OUI:B0D59D*
+ ID_OUI_FROM_DATABASE=Shenzhen Zowee Technology Co., Ltd
+
+ OUI:B0D7C5*
+- ID_OUI_FROM_DATABASE=STP KFT
++ ID_OUI_FROM_DATABASE=Logipix Ltd
+
+ OUI:B0DA00*
+ ID_OUI_FROM_DATABASE=CERA ELECTRONIQUE
+@@ -67891,6 +68071,9 @@ OUI:B467E9*
+ OUI:B46D35*
+ ID_OUI_FROM_DATABASE=Dalian Seasky Automation Co;Ltd
+
++OUI:B46D83*
++ ID_OUI_FROM_DATABASE=Intel Corporate
++
+ OUI:B47356*
+ ID_OUI_FROM_DATABASE=Hangzhou Treebear Networking Co., Ltd.
+
+@@ -68569,6 +68752,9 @@ OUI:BC38D2*
+ OUI:BC39A6*
+ ID_OUI_FROM_DATABASE=CSUN System Technology Co.,LTD
+
++OUI:BC3AEA*
++ ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD.
++
+ OUI:BC3BAF*
+ ID_OUI_FROM_DATABASE=Apple
+
+@@ -69211,6 +69397,9 @@ OUI:C40F09*
+ OUI:C4108A*
+ ID_OUI_FROM_DATABASE=Ruckus Wireless
+
++OUI:C412F5*
++ ID_OUI_FROM_DATABASE=D-Link International
++
+ OUI:C413E2*
+ ID_OUI_FROM_DATABASE=Aerohive Networks Inc.
+
+@@ -69520,6 +69709,9 @@ OUI:C4E92F*
+ OUI:C4E984*
+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD.
+
++OUI:C4EA1D*
++ ID_OUI_FROM_DATABASE=Technicolor
++
+ OUI:C4EBE3*
+ ID_OUI_FROM_DATABASE=RRCN SAS
+
+@@ -69586,6 +69778,9 @@ OUI:C81B6B*
+ OUI:C81E8E*
+ ID_OUI_FROM_DATABASE=ADV Security (S) Pte Ltd
+
++OUI:C81EE7*
++ ID_OUI_FROM_DATABASE=Apple Inc
++
+ OUI:C81F66*
+ ID_OUI_FROM_DATABASE=Dell Inc
+
+@@ -69610,6 +69805,9 @@ OUI:C83232*
+ OUI:C8334B*
+ ID_OUI_FROM_DATABASE=Apple
+
++OUI:C8348E*
++ ID_OUI_FROM_DATABASE=Intel Corporate
++
+ OUI:C835B8*
+ ID_OUI_FROM_DATABASE=Ericsson, EAB/RWI/K
+
+@@ -70018,6 +70216,9 @@ OUI:CC4BFB*
+ OUI:CC4E24*
+ ID_OUI_FROM_DATABASE=Brocade Communications Systems, Inc.
+
++OUI:CC4EEC*
++ ID_OUI_FROM_DATABASE=HUMAX Co., Ltd.
++
+ OUI:CC501C*
+ ID_OUI_FROM_DATABASE=KVH Industries, Inc.
+
+@@ -70279,6 +70480,9 @@ OUI:CCFCB1*
+ OUI:CCFE3C*
+ ID_OUI_FROM_DATABASE=Samsung Electronics
+
++OUI:D0034B*
++ ID_OUI_FROM_DATABASE=Apple Inc
++
+ OUI:D00790*
+ ID_OUI_FROM_DATABASE=Texas Instruments
+
+@@ -70321,6 +70525,9 @@ OUI:D023DB*
+ OUI:D02516*
+ ID_OUI_FROM_DATABASE=SHENZHEN MERCURY COMMUNICATION TECHNOLOGIES CO.,LTD.
+
++OUI:D02598*
++ ID_OUI_FROM_DATABASE=Apple Inc
++
+ OUI:D02788*
+ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind.Co.Ltd
+
+@@ -70342,6 +70549,9 @@ OUI:D03972*
+ OUI:D039B3*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
++OUI:D0431E*
++ ID_OUI_FROM_DATABASE=Dell Inc.
++
+ OUI:D046DC*
+ ID_OUI_FROM_DATABASE=Southwest Research Institute
+
+@@ -70501,6 +70711,9 @@ OUI:D09C30*
+ OUI:D09D0A*
+ ID_OUI_FROM_DATABASE=LINKCOM
+
++OUI:D09DAB*
++ ID_OUI_FROM_DATABASE=TCT mobile ltd
++
+ OUI:D0A0D6*
+ ID_OUI_FROM_DATABASE=Chengdu TD Tech Ltd.
+
+@@ -71266,6 +71479,9 @@ OUI:D8977C*
+ OUI:D897BA*
+ ID_OUI_FROM_DATABASE=PEGATRON CORPORATION
+
++OUI:D89A34*
++ ID_OUI_FROM_DATABASE=Beijing SHENQI Technology Co., Ltd.
++
+ OUI:D89D67*
+ ID_OUI_FROM_DATABASE=Hewlett Packard
+
+@@ -72028,6 +72244,9 @@ OUI:E0D9A2*
+ OUI:E0DADC*
+ ID_OUI_FROM_DATABASE=JVC KENWOOD Corporation
+
++OUI:E0DB10*
++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
++
+ OUI:E0DB55*
+ ID_OUI_FROM_DATABASE=Dell Inc
+
+@@ -72367,6 +72586,9 @@ OUI:E4F4C6*
+ OUI:E4F7A1*
+ ID_OUI_FROM_DATABASE=Datafox GmbH
+
++OUI:E4F89C*
++ ID_OUI_FROM_DATABASE=Intel Corporate
++
+ OUI:E4F8EF*
+ ID_OUI_FROM_DATABASE=Samsung Elec Co.,Ltd
+
+@@ -72376,6 +72598,9 @@ OUI:E4F939*
+ OUI:E4FA1D*
+ ID_OUI_FROM_DATABASE=PAD Peripheral Advanced Design Inc.
+
++OUI:E4FAFD*
++ ID_OUI_FROM_DATABASE=Intel Corporate
++
+ OUI:E4FED9*
+ ID_OUI_FROM_DATABASE=EDMI Europe Ltd
+
+@@ -72739,6 +72964,9 @@ OUI:E8F1B0*
+ OUI:E8F226*
+ ID_OUI_FROM_DATABASE=MILLSON CUSTOM SOLUTIONS INC.
+
++OUI:E8F2E3*
++ ID_OUI_FROM_DATABASE=Starcor Beijing Co.,Limited
++
+ OUI:E8F928*
+ ID_OUI_FROM_DATABASE=RFTECH SRL
+
+@@ -72874,6 +73102,9 @@ OUI:EC5A86*
+ OUI:EC5C69*
+ ID_OUI_FROM_DATABASE=MITSUBISHI HEAVY INDUSTRIES MECHATRONICS SYSTEMS,LTD.
+
++OUI:EC60E0*
++ ID_OUI_FROM_DATABASE=AVI-ON LABS
++
+ OUI:EC6264*
+ ID_OUI_FROM_DATABASE=Global411 Internet Services, LLC
+
+@@ -73213,6 +73444,9 @@ OUI:F07765*
+ OUI:F077D0*
+ ID_OUI_FROM_DATABASE=Xcellen
+
++OUI:F07816*
++ ID_OUI_FROM_DATABASE=Cisco
++
+ OUI:F07959*
+ ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC.
+
+@@ -73279,6 +73513,9 @@ OUI:F09FC2*
+ OUI:F0A764*
+ ID_OUI_FROM_DATABASE=GST Co., Ltd.
+
++OUI:F0AB54*
++ ID_OUI_FROM_DATABASE=MITSUMI ELECTRIC CO.,LTD.
++
+ OUI:F0ACA4*
+ ID_OUI_FROM_DATABASE=HBC-radiomatic
+
+diff --git a/hwdb/20-pci-vendor-model.hwdb b/hwdb/20-pci-vendor-model.hwdb
+index 6c22088873..3b35b26e59 100644
+--- a/hwdb/20-pci-vendor-model.hwdb
++++ b/hwdb/20-pci-vendor-model.hwdb
+@@ -4361,6 +4361,9 @@ pci:v00001002d0000665Csv00001787sd00002329*
+ pci:v00001002d0000665D*
+ ID_MODEL_FROM_DATABASE=Bonaire [Radeon R7 200 Series]
+
++pci:v00001002d0000665F*
++ ID_MODEL_FROM_DATABASE=Tobago [Radeon R7 300 Series]
++
+ pci:v00001002d00006660*
+ ID_MODEL_FROM_DATABASE=Sun XT [Radeon HD 8670A/8670M/8690M]
+
+@@ -5984,6 +5987,63 @@ pci:v00001002d000067AA*
+ pci:v00001002d000067B0*
+ ID_MODEL_FROM_DATABASE=Hawaii XT [Radeon R9 290X]
+
++pci:v00001002d000067B0sv00001043sd0000046A*
++ ID_MODEL_FROM_DATABASE=Hawaii XT [Radeon R9 290X] (R9 290X DirectCU II)
++
++pci:v00001002d000067B0sv00001043sd0000046C*
++ ID_MODEL_FROM_DATABASE=Hawaii XT [Radeon R9 290X] (R9 290X DirectCU II OC)
++
++pci:v00001002d000067B0sv00001043sd00000474*
++ ID_MODEL_FROM_DATABASE=Hawaii XT [Radeon R9 290X] (Matrix R9 290X Platinum)
++
++pci:v00001002d000067B0sv00001043sd00000476*
++ ID_MODEL_FROM_DATABASE=Hawaii XT [Radeon R9 290X] (ARES III)
++
++pci:v00001002d000067B0sv00001458sd0000227C*
++ ID_MODEL_FROM_DATABASE=Hawaii XT [Radeon R9 290X] (R9 290X WindForce 3X OC)
++
++pci:v00001002d000067B0sv00001458sd00002281*
++ ID_MODEL_FROM_DATABASE=Hawaii XT [Radeon R9 290X] (R9 290X WindForce 3X OC)
++
++pci:v00001002d000067B0sv00001458sd0000228C*
++ ID_MODEL_FROM_DATABASE=Hawaii XT [Radeon R9 290X] (R9 290X WindForce 3X)
++
++pci:v00001002d000067B0sv00001458sd0000228D*
++ ID_MODEL_FROM_DATABASE=Hawaii XT [Radeon R9 290X] (R9 290X WindForce 3X OC)
++
++pci:v00001002d000067B0sv00001458sd00002290*
++ ID_MODEL_FROM_DATABASE=Hawaii XT [Radeon R9 290X] (R9 290X WindForce 3X)
++
++pci:v00001002d000067B0sv00001462sd00003070*
++ ID_MODEL_FROM_DATABASE=Hawaii XT [Radeon R9 290X] (R9 290X Lightning)
++
++pci:v00001002d000067B0sv00001462sd00003071*
++ ID_MODEL_FROM_DATABASE=Hawaii XT [Radeon R9 290X] (R9 290X Lightning)
++
++pci:v00001002d000067B0sv00001462sd00003072*
++ ID_MODEL_FROM_DATABASE=Hawaii XT [Radeon R9 290X] (R9 290X Lightning LE)
++
++pci:v00001002d000067B0sv00001462sd00003080*
++ ID_MODEL_FROM_DATABASE=Hawaii XT [Radeon R9 290X] (R9 290X Gaming)
++
++pci:v00001002d000067B0sv00001462sd00003082*
++ ID_MODEL_FROM_DATABASE=Hawaii XT [Radeon R9 290X] (R9 290X Gaming OC)
++
++pci:v00001002d000067B0sv0000148Csd00002347*
++ ID_MODEL_FROM_DATABASE=Hawaii XT [Radeon R9 290X] (Devil 13 Dual Core R9 290X)
++
++pci:v00001002d000067B0sv00001682sd00009290*
++ ID_MODEL_FROM_DATABASE=Hawaii XT [Radeon R9 290X] (Double Dissipation R9 290X)
++
++pci:v00001002d000067B0sv0000174Bsd0000E282*
++ ID_MODEL_FROM_DATABASE=Hawaii XT [Radeon R9 290X] (Vapor-X R9 290X Tri-X OC)
++
++pci:v00001002d000067B0sv0000174Bsd0000E285*
++ ID_MODEL_FROM_DATABASE=Hawaii XT [Radeon R9 290X] (R9 290X Tri-X OC)
++
++pci:v00001002d000067B0sv00001787sd00002020*
++ ID_MODEL_FROM_DATABASE=Hawaii XT [Radeon R9 290X] (R9 290X IceQ X² Turbo)
++
+ pci:v00001002d000067B1*
+ ID_MODEL_FROM_DATABASE=Hawaii PRO [Radeon R9 290]
+
+@@ -9092,6 +9152,9 @@ pci:v00001002d0000985E*
+ pci:v00001002d0000985F*
+ ID_MODEL_FROM_DATABASE=Mullins
+
++pci:v00001002d00009874*
++ ID_MODEL_FROM_DATABASE=Carrizo
++
+ pci:v00001002d00009900*
+ ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7660G]
+
+@@ -10272,10 +10335,10 @@ pci:v00001014d000000A6*
+ ID_MODEL_FROM_DATABASE=ATM 155MBPS MM Controller (1410a600)
+
+ pci:v00001014d000000B7*
+- ID_MODEL_FROM_DATABASE=256-bit Graphics Rasterizer [FireGL1]
++ ID_MODEL_FROM_DATABASE=GXT2000P Graphics Adapter
+
+ pci:v00001014d000000B7sv00001092sd000000B8*
+- ID_MODEL_FROM_DATABASE=256-bit Graphics Rasterizer [FireGL1] (FireGL1 AGP 32Mb)
++ ID_MODEL_FROM_DATABASE=GXT2000P Graphics Adapter (FireGL1 AGP 32Mb)
+
+ pci:v00001014d000000B8*
+ ID_MODEL_FROM_DATABASE=GXT2000P Graphics Adapter
+@@ -10325,6 +10388,15 @@ pci:v00001014d00000170*
+ pci:v00001014d00000170sv00001092sd00000172*
+ ID_MODEL_FROM_DATABASE=GXT6000P Graphics Adapter (Fire GL2)
+
++pci:v00001014d00000170sv00001092sd00000173*
++ ID_MODEL_FROM_DATABASE=GXT6000P Graphics Adapter (Fire GL3)
++
++pci:v00001014d00000170sv00001092sd00000174*
++ ID_MODEL_FROM_DATABASE=GXT6000P Graphics Adapter (Fire GL4)
++
++pci:v00001014d00000170sv00001092sd00000184*
++ ID_MODEL_FROM_DATABASE=GXT6000P Graphics Adapter (Fire GL4s)
++
+ pci:v00001014d0000017D*
+ ID_MODEL_FROM_DATABASE=GXT300P Graphics Adapter
+
+@@ -28542,913 +28614,934 @@ pci:v000010DEd000010D8*
+ ID_MODEL_FROM_DATABASE=GT218 [NVS 300]
+
+ pci:v000010DEd00001140*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M]
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M]
+
+ pci:v000010DEd00001140sv00001019sd0000999F*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv00001025sd00000600*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+
+ pci:v000010DEd00001140sv00001025sd00000606*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+
+ pci:v000010DEd00001140sv00001025sd0000064A*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+
+ pci:v000010DEd00001140sv00001025sd0000064C*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+
+ pci:v000010DEd00001140sv00001025sd0000067A*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+
+ pci:v000010DEd00001140sv00001025sd00000680*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+
+ pci:v000010DEd00001140sv00001025sd00000686*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv00001025sd00000689*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv00001025sd0000068B*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv00001025sd0000068D*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv00001025sd0000068E*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv00001025sd00000691*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv00001025sd00000692*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+
+ pci:v000010DEd00001140sv00001025sd00000694*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+
+ pci:v000010DEd00001140sv00001025sd00000702*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+
+ pci:v000010DEd00001140sv00001025sd00000719*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+
+ pci:v000010DEd00001140sv00001025sd00000725*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+
+ pci:v000010DEd00001140sv00001025sd00000728*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+
+ pci:v000010DEd00001140sv00001025sd0000072B*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+
+ pci:v000010DEd00001140sv00001025sd0000072E*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+
+ pci:v000010DEd00001140sv00001025sd00000732*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+
+ pci:v000010DEd00001140sv00001025sd00000763*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv00001025sd00000773*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv00001025sd00000774*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv00001025sd00000776*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv00001025sd0000077A*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv00001025sd0000077B*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv00001025sd0000077C*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv00001025sd0000077D*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv00001025sd0000077E*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv00001025sd0000077F*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv00001025sd00000781*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv00001025sd00000798*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv00001025sd00000799*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv00001025sd0000079B*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv00001025sd0000079C*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv00001025sd00000807*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv00001025sd00000821*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv00001025sd00000823*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv00001025sd00000830*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv00001025sd00000833*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv00001025sd00000837*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv00001025sd0000089B*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv00001025sd0000092E*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 810M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 810M)
+
+ pci:v000010DEd00001140sv00001025sd0000092F*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv00001025sd0000093A*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv00001025sd0000093C*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv00001025sd0000093F*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv00001025sd00000941*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv00001025sd00000945*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv00001025sd00000954*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv00001025sd00000965*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
+
+ pci:v000010DEd00001140sv00001028sd0000054E*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
+
+ pci:v000010DEd00001140sv00001028sd00000554*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+
+ pci:v000010DEd00001140sv00001028sd00000557*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+
+ pci:v000010DEd00001140sv00001028sd00000562*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M)
+
+ pci:v000010DEd00001140sv00001028sd00000565*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
+
+ pci:v000010DEd00001140sv00001028sd00000568*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
+
+ pci:v000010DEd00001140sv00001028sd00000590*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
+
+ pci:v000010DEd00001140sv00001028sd00000592*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M)
+
+ pci:v000010DEd00001140sv00001028sd00000594*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M)
+
+ pci:v000010DEd00001140sv00001028sd00000595*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M)
+
+ pci:v000010DEd00001140sv00001028sd000005A2*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M)
+
+ pci:v000010DEd00001140sv00001028sd000005B1*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M)
+
+ pci:v000010DEd00001140sv00001028sd000005B3*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M)
+
+ pci:v000010DEd00001140sv00001028sd000005DA*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
+
+ pci:v000010DEd00001140sv00001028sd000005DE*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv00001028sd000005E0*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv00001028sd000005E8*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
+
+ pci:v000010DEd00001140sv00001028sd000005F4*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv00001028sd0000060F*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv00001028sd00000653*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv00001028sd00000655*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv00001028sd0000065E*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
+
+ pci:v000010DEd00001140sv0000103Csd000018F9*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
+
+ pci:v000010DEd00001140sv0000103Csd000018FB*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
+
+ pci:v000010DEd00001140sv0000103Csd000018FD*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
+
+ pci:v000010DEd00001140sv0000103Csd000018FF*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
+
+ pci:v000010DEd00001140sv0000103Csd00002335*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv0000103Csd00002337*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv0000103Csd00002AEF*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720A)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720A)
+
+ pci:v000010DEd00001140sv0000103Csd00002AF9*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710A)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710A)
+
+ pci:v000010DEd00001140sv00001043sd000010DD*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (NVS 5200M)
+
+ pci:v000010DEd00001140sv00001043sd000010ED*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (NVS 5200M)
+
+ pci:v000010DEd00001140sv00001043sd000011FD*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv00001043sd0000124D*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv00001043sd0000126D*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv00001043sd0000131D*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv00001043sd000013FD*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv00001043sd000014C7*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv00001043sd00001507*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+
+ pci:v000010DEd00001140sv00001043sd000015AD*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv00001043sd000015ED*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv00001043sd0000160D*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv00001043sd0000163D*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv00001043sd0000166D*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv00001043sd000016CD*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv00001043sd000016DD*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv00001043sd0000170D*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+
+ pci:v000010DEd00001140sv00001043sd00002136*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (NVS 5200M)
+
+ pci:v000010DEd00001140sv00001043sd000021BA*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv00001043sd000021FA*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv00001043sd0000220A*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv00001043sd0000221A*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv00001043sd0000223A*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 710M)
+
+ pci:v000010DEd00001140sv00001043sd0000224A*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 710M)
+
+ pci:v000010DEd00001140sv00001043sd0000227A*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv00001043sd0000228A*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv00001043sd0000232A*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv00001043sd0000233A*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv00001043sd0000236A*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv00001043sd0000238A*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv00001043sd00008595*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv00001043sd000085EA*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv00001043sd000085EB*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv00001043sd000085EC*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv00001043sd000085EE*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv00001043sd000085F3*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv00001043sd0000860E*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv00001043sd0000861A*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv00001043sd0000861B*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv00001043sd00008628*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv00001043sd00008643*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv00001043sd0000864C*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv00001043sd00008652*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv0000105Bsd00000DAC*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv0000105Bsd00000DAD*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv0000105Bsd00000EF3*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv00001072sd0000152D*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv000010CFsd000017F5*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv00001179sd0000FA01*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv00001179sd0000FA02*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv00001179sd0000FA03*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv00001179sd0000FA05*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv00001179sd0000FA11*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv00001179sd0000FA13*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv00001179sd0000FA18*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv00001179sd0000FA19*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv00001179sd0000FA21*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv00001179sd0000FA23*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv00001179sd0000FA2A*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv00001179sd0000FA32*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv00001179sd0000FA33*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv00001179sd0000FA36*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv00001179sd0000FA38*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv00001179sd0000FA42*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv00001179sd0000FA43*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv00001179sd0000FA45*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv00001179sd0000FA47*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv00001179sd0000FA49*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv00001179sd0000FA58*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv00001179sd0000FA59*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv00001179sd0000FA88*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv00001179sd0000FA89*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv0000144Dsd0000B092*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+
+ pci:v000010DEd00001140sv0000144Dsd0000C0D5*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
+
+ pci:v000010DEd00001140sv0000144Dsd0000C0D7*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+
+ pci:v000010DEd00001140sv0000144Dsd0000C0E2*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (NVS 5200M)
+
+ pci:v000010DEd00001140sv0000144Dsd0000C0E3*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (NVS 5200M)
+
+ pci:v000010DEd00001140sv0000144Dsd0000C0E4*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (NVS 5200M)
+
+ pci:v000010DEd00001140sv0000144Dsd0000C10D*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv0000144Dsd0000C652*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+
+ pci:v000010DEd00001140sv0000144Dsd0000C709*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv0000144Dsd0000C711*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv0000144Dsd0000C736*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv0000144Dsd0000C737*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv0000144Dsd0000C745*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv0000144Dsd0000C750*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv00001462sd000010B8*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 710M)
+
+ pci:v000010DEd00001140sv00001462sd000010E9*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv00001462sd00001116*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv00001462sd0000AA33*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 720M)
+
+ pci:v000010DEd00001140sv00001462sd0000AAA2*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv00001462sd0000AAA3*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv00001462sd0000ACB2*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv00001462sd0000ACC1*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv00001462sd0000AE61*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 720M)
+
+ pci:v000010DEd00001140sv00001462sd0000AE65*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv00001462sd0000AE6A*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv00001462sd0000AE71*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv000014C0sd00000083*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv0000152Dsd00000926*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 620M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 620M)
+
+ pci:v000010DEd00001140sv0000152Dsd00000982*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
+
+ pci:v000010DEd00001140sv0000152Dsd00000983*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
+
+ pci:v000010DEd00001140sv0000152Dsd00001055*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv0000152Dsd00001067*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv0000152Dsd00001072*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv0000152Dsd00001092*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (NVS 5200M)
+
+ pci:v000010DEd00001140sv000017AAsd00002213*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv000017AAsd00002220*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv000017AAsd0000309C*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720A)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720A)
+
+ pci:v000010DEd00001140sv000017AAsd000030B4*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820A)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820A)
++
++pci:v000010DEd00001140sv000017AAsd000030B7*
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 720A)
++
++pci:v000010DEd00001140sv000017AAsd0000361B*
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820A)
++
++pci:v000010DEd00001140sv000017AAsd0000361C*
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820A)
+
+ pci:v000010DEd00001140sv000017AAsd00003656*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+
+ pci:v000010DEd00001140sv000017AAsd0000365A*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 705M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 705M)
+
+ pci:v000010DEd00001140sv000017AAsd0000365E*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 800M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 800M)
++
++pci:v000010DEd00001140sv000017AAsd00003661*
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820A)
+
+ pci:v000010DEd00001140sv000017AAsd0000366C*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 800M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 800M)
+
+ pci:v000010DEd00001140sv000017AAsd00003685*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 800M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 800M)
+
+ pci:v000010DEd00001140sv000017AAsd00003686*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 800M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 800M)
+
+ pci:v000010DEd00001140sv000017AAsd00003687*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 705A)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 705A)
+
+ pci:v000010DEd00001140sv000017AAsd00003696*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820A)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820A)
+
+ pci:v000010DEd00001140sv000017AAsd0000369B*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820A)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820A)
+
+ pci:v000010DEd00001140sv000017AAsd0000369C*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820A)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820A)
+
+ pci:v000010DEd00001140sv000017AAsd0000369D*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820A)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820A)
+
+ pci:v000010DEd00001140sv000017AAsd0000369E*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820A)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820A)
+
+ pci:v000010DEd00001140sv000017AAsd000036A9*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820A)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820A)
++
++pci:v000010DEd00001140sv000017AAsd000036AF*
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820A)
++
++pci:v000010DEd00001140sv000017AAsd000036B0*
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820A)
++
++pci:v000010DEd00001140sv000017AAsd000036B6*
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820A)
+
+ pci:v000010DEd00001140sv000017AAsd00003800*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv000017AAsd00003801*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv000017AAsd00003802*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv000017AAsd00003803*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv000017AAsd00003804*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv000017AAsd0000381A*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv000017AAsd0000381C*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 610M / GT 620M)
+
+ pci:v000010DEd00001140sv000017AAsd00003902*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv000017AAsd00003903*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 610M/710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 610M/710M)
+
+ pci:v000010DEd00001140sv000017AAsd00003904*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M/625M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M/625M)
+
+ pci:v000010DEd00001140sv000017AAsd00003905*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv000017AAsd00003907*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv000017AAsd00003910*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 720M)
+
+ pci:v000010DEd00001140sv000017AAsd00003912*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 720M)
+
+ pci:v000010DEd00001140sv000017AAsd00003913*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv000017AAsd00003915*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv000017AAsd00003977*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv000017AAsd00003983*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 610M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 610M)
+
+ pci:v000010DEd00001140sv000017AAsd00005001*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 610M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 610M)
+
+ pci:v000010DEd00001140sv000017AAsd00005003*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv000017AAsd00005005*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 705M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 705M)
+
+ pci:v000010DEd00001140sv000017AAsd0000500D*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+
+ pci:v000010DEd00001140sv000017AAsd00005014*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv000017AAsd00005017*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv000017AAsd00005019*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv000017AAsd0000501A*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv000017AAsd0000501F*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv000017AAsd00005025*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv000017AAsd00005027*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv000017AAsd0000502A*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv000017AAsd0000502B*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv000017AAsd0000502D*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv000017AAsd0000502E*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv000017AAsd0000502F*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/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)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv00001854sd00000180*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+
+ pci:v000010DEd00001140sv00001854sd00000190*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv00001854sd00000192*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv00001B0Asd000020DD*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+
+ pci:v000010DEd00001140sv00001B0Asd000020DF*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+
+ pci:v000010DEd00001140sv00001B0Asd0000210E*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv00001B0Asd00002202*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+
+ pci:v000010DEd00001140sv00001B0Asd000090D7*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001140sv00001B0Asd000090DD*
+- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+
+ pci:v000010DEd00001180*
+ ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 680]
+@@ -29654,6 +29747,9 @@ pci:v000010DEd000011E3*
+ pci:v000010DEd000011E3sv000017AAsd00003683*
+ ID_MODEL_FROM_DATABASE=GK106M [GeForce GTX 760M] (GeForce GTX 760A)
+
++pci:v000010DEd000011E7*
++ ID_MODEL_FROM_DATABASE=GK106M
++
+ pci:v000010DEd000011FA*
+ ID_MODEL_FROM_DATABASE=GK106GL [Quadro K4000]
+
+@@ -30014,6 +30110,9 @@ pci:v000010DFd00000720sv000017AAsd00001057*
+ pci:v000010DFd00000720sv000017AAsd00001059*
+ ID_MODEL_FROM_DATABASE=OneConnect NIC (Skyhawk) (ThinkServer OCm14104-UT-L AnyFabric)
+
++pci:v000010DFd00000720sv000017AAsd00004014*
++ ID_MODEL_FROM_DATABASE=OneConnect NIC (Skyhawk) (ThinkServer OCm14102-NX-L AnyFabric)
++
+ pci:v000010DFd00000722*
+ ID_MODEL_FROM_DATABASE=OneConnect iSCSI Initiator (Skyhawk)
+
+@@ -30755,6 +30854,9 @@ pci:v000010ECd00008168sv00001775sd000011CC*
+ pci:v000010ECd00008168sv00001849sd00008168*
+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Motherboard (one of many))
+
++pci:v000010ECd00008168sv00007470sd00003468*
++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (TG-3468 Gigabit PCI Express Network Adapter)
++
+ pci:v000010ECd00008168sv00008086sd0000D615*
+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Desktop Board D510MO/D525MW)
+
+@@ -31278,7 +31380,7 @@ pci:v00001102d00007005sv00001102sd00001002*
+ 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
++ ID_MODEL_FROM_DATABASE=[SB X-Fi Xtreme Audio] CA0110-IBG PCIe to PCI Bridge
+
+ pci:v00001102d00008938*
+ ID_MODEL_FROM_DATABASE=Ectiva EV1938
+@@ -33896,6 +33998,9 @@ pci:v0000111Dd00008088sv00001093sd00007600*
+ pci:v0000111Dd00008088sv00001093sd00007602*
+ ID_MODEL_FROM_DATABASE=PES32NT8BG2 PCI Express Switch (PXIe-8384)
+
++pci:v0000111Dd0000808F*
++ ID_MODEL_FROM_DATABASE=PES32NT8AG2
++
+ pci:v0000111E*
+ ID_VENDOR_FROM_DATABASE=Eldec
+
+@@ -34664,9 +34769,12 @@ pci:v00001131d00007164sv00000070sd000089A0*
+ pci:v00001131d00007164sv00000070sd000089A1*
+ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2200)
+
+-pci:v00001131d00007164sv00000070sd0000F123*
++pci:v00001131d00007164sv00000070sd0000F120*
+ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2205)
+
++pci:v00001131d00007164sv00000070sd0000F123*
++ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2215)
++
+ pci:v00001131d00007231*
+ ID_MODEL_FROM_DATABASE=SAA7231
+
+@@ -39923,6 +40031,15 @@ pci:v0000125E*
+ pci:v0000125F*
+ ID_VENDOR_FROM_DATABASE=Concurrent Technologies, Inc.
+
++pci:v0000125Fd00002071*
++ ID_MODEL_FROM_DATABASE=CC PMC/232
++
++pci:v0000125Fd00002084*
++ ID_MODEL_FROM_DATABASE=CC PMC/23P
++
++pci:v0000125Fd00002091*
++ ID_MODEL_FROM_DATABASE=CC PMC/422
++
+ pci:v00001260*
+ ID_VENDOR_FROM_DATABASE=Intersil Corporation
+
+@@ -43145,17 +43262,56 @@ pci:v00001397*
+ pci:v00001397d000008B4*
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S]
+
++pci:v00001397d000008B4sv00001397sd000008B4*
++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [Cologne Chip HFC-4S Eval. Board])
++
++pci:v00001397d000008B4sv00001397sd0000B51A*
++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [Allo.com BRI card])
++
+ pci:v00001397d000008B4sv00001397sd0000B520*
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [IOB4ST])
+
+ pci:v00001397d000008B4sv00001397sd0000B540*
+- ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [Swyx 4xS0 SX2 QuadBri])
++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [Swyx SX2 QuadBri])
+
+ pci:v00001397d000008B4sv00001397sd0000B550*
+- ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [Junghanns quadBRI])
++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [Junghanns.NET quadBRI])
+
+ pci:v00001397d000008B4sv00001397sd0000B556*
+- ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [Junghanns DuoDBRI])
++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [Junghanns.NET duoBRI])
++
++pci:v00001397d000008B4sv00001397sd0000B559*
++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [Junghanns.NET duoBRI miniPCI])
++
++pci:v00001397d000008B4sv00001397sd0000B560*
++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [BeroNet BN4S0])
++
++pci:v00001397d000008B4sv00001397sd0000B566*
++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [BeroNet BN2S0])
++
++pci:v00001397d000008B4sv00001397sd0000B567*
++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [BeroNet BN1S0 miniPCI])
++
++pci:v00001397d000008B4sv00001397sd0000B568*
++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [BeroNet BN4S0 miniPCI])
++
++pci:v00001397d000008B4sv00001397sd0000B569*
++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [BeroNet BN2S0 miniPCI])
++
++pci:v00001397d000008B4sv00001397sd0000B620*
++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S)
++
++pci:v00001397d000008B4sv00001397sd0000B752*
++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [Junghanns.NET quadBRI PCIe])
++
++pci:v00001397d000008B4sv00001397sd0000B761*
++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [BeroNet BN2S0 PCIe])
++
++pci:v00001397d000008B4sv00001397sd0000B762*
++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [BeroNet BN4S0 PCIe])
++
++pci:v00001397d000008B4sv00001397sd0000E884*
++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [OpenVox B200P])
+
+ pci:v00001397d000008B4sv00001397sd0000E888*
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [OpenVox B200P / B400P])
+@@ -43163,9 +43319,33 @@ pci:v00001397d000008B4sv00001397sd0000E888*
+ pci:v00001397d000016B8*
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-8S]
+
+-pci:v00001397d000016B8sv00001397sd0000B562*
++pci:v00001397d000016B8sv00001397sd000016B8*
++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-8S] (HFC-8S [Cologne Chip HFC-8S Eval. Board])
++
++pci:v00001397d000016B8sv00001397sd0000B521*
++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-8S] (HFC-8S [IOB4ST Recording])
++
++pci:v00001397d000016B8sv00001397sd0000B522*
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-8S] (HFC-8S [IOB8ST])
+
++pci:v00001397d000016B8sv00001397sd0000B552*
++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-8S] (HFC-8S [Junghanns.NET octoBRI])
++
++pci:v00001397d000016B8sv00001397sd0000B55B*
++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-8S] (HFC-8S [Junghanns.NET octoBRI])
++
++pci:v00001397d000016B8sv00001397sd0000B562*
++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-8S] (HFC-8S [BeroNet BN8S0])
++
++pci:v00001397d000016B8sv00001397sd0000B56B*
++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-8S] (HFC-8S [BeroNet BN8S0+])
++
++pci:v00001397d000016B8sv00001397sd0000B622*
++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-8S] (HFC-8S)
++
++pci:v00001397d000016B8sv00001397sd0000E998*
++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-8S] (HFC-8S [OpenVox B800P])
++
+ pci:v00001397d00002BD0*
+ ID_MODEL_FROM_DATABASE=ISDN network controller [HFC-PCI]
+
+@@ -43184,6 +43364,42 @@ pci:v00001397d00002BD0sv0000E4BFsd00001000*
+ pci:v00001397d000030B1*
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-E1]
+
++pci:v00001397d000030B1sv00001397sd000030B1*
++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-E1] (HFC-E1 [Cologne Chip HFC-E1 Eval. Board])
++
++pci:v00001397d000030B1sv00001397sd0000B523*
++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-E1] (HFC-E1 [IOB1E1])
++
++pci:v00001397d000030B1sv00001397sd0000B543*
++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-E1] (HFC-E1 [Swyx SX2 SinglePRI V2])
++
++pci:v00001397d000030B1sv00001397sd0000B544*
++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-E1] (HFC-E1 [Swyx SX2 DualPRI V2])
++
++pci:v00001397d000030B1sv00001397sd0000B553*
++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-E1] (HFC-E1 [Junghanns.NET singleE1])
++
++pci:v00001397d000030B1sv00001397sd0000B554*
++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-E1] (HFC-E1 [Junghanns.NET doubleE1])
++
++pci:v00001397d000030B1sv00001397sd0000B555*
++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-E1] (HFC-E1 [Junghanns.NET doubleE1 2.0])
++
++pci:v00001397d000030B1sv00001397sd0000B55A*
++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-E1] (HFC-E1 [Junghanns.NET singleE1 miniPCI])
++
++pci:v00001397d000030B1sv00001397sd0000B563*
++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-E1] (HFC-E1 [beroNet BN1E1])
++
++pci:v00001397d000030B1sv00001397sd0000B564*
++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-E1] (HFC-E1 [beroNet BN2E1])
++
++pci:v00001397d000030B1sv00001397sd0000B565*
++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-E1] (HFC-E1 [beroNet BN2E1+])
++
++pci:v00001397d000030B1sv00001397sd0000B56A*
++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-E1] (HFC-E1 [beroNet BN1E1 miniPCI])
++
+ pci:v00001397d0000B700*
+ ID_MODEL_FROM_DATABASE=ISDN network controller PrimuX S0 [HFC-PCI]
+
+@@ -45206,6 +45422,9 @@ pci:v00001425d00005088*
+ pci:v00001425d00005089*
+ ID_MODEL_FROM_DATABASE=T520-5089 Unified Wire Ethernet Controller
+
++pci:v00001425d00005090*
++ ID_MODEL_FROM_DATABASE=T540-5090 Unified Wire Ethernet Controller
++
+ pci:v00001425d00005401*
+ ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller
+
+@@ -45299,6 +45518,9 @@ pci:v00001425d00005488*
+ pci:v00001425d00005489*
+ ID_MODEL_FROM_DATABASE=T520-5089 Unified Wire Ethernet Controller
+
++pci:v00001425d00005490*
++ ID_MODEL_FROM_DATABASE=T540-5090 Unified Wire Ethernet Controller
++
+ pci:v00001425d00005501*
+ ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Storage Controller
+
+@@ -45392,6 +45614,9 @@ pci:v00001425d00005588*
+ pci:v00001425d00005589*
+ ID_MODEL_FROM_DATABASE=T520-5089 Unified Wire Storage Controller
+
++pci:v00001425d00005590*
++ ID_MODEL_FROM_DATABASE=T540-5090 Unified Wire Storage Controller
++
+ pci:v00001425d00005601*
+ ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Storage Controller
+
+@@ -45485,6 +45710,9 @@ pci:v00001425d00005688*
+ pci:v00001425d00005689*
+ ID_MODEL_FROM_DATABASE=T520-5089 Unified Wire Storage Controller
+
++pci:v00001425d00005690*
++ ID_MODEL_FROM_DATABASE=T540-5090 Unified Wire Storage Controller
++
+ pci:v00001425d00005701*
+ ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller
+
+@@ -45578,6 +45806,9 @@ pci:v00001425d00005788*
+ pci:v00001425d00005789*
+ ID_MODEL_FROM_DATABASE=T520-5089 Unified Wire Ethernet Controller
+
++pci:v00001425d00005790*
++ ID_MODEL_FROM_DATABASE=T540-5090 Unified Wire Ethernet Controller
++
+ pci:v00001425d00005801*
+ ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller [VF]
+
+@@ -45671,6 +45902,9 @@ pci:v00001425d00005888*
+ pci:v00001425d00005889*
+ ID_MODEL_FROM_DATABASE=T520-5089 Unified Wire Ethernet Controller [VF]
+
++pci:v00001425d00005890*
++ ID_MODEL_FROM_DATABASE=T540-5090 Unified Wire Ethernet Controller [VF]
++
+ pci:v00001425d0000A000*
+ ID_MODEL_FROM_DATABASE=PE10K Unified Wire Ethernet Controller
+
+@@ -51930,7 +52164,10 @@ pci:v0000168Cd0000003C*
+ ID_MODEL_FROM_DATABASE=QCA988x 802.11ac Wireless Network Adapter
+
+ pci:v0000168Cd0000003E*
+- ID_MODEL_FROM_DATABASE=Killer N1525 Wireless-AC
++ ID_MODEL_FROM_DATABASE=QCA6174 802.11ac Wireless Network Adapter
++
++pci:v0000168Cd0000003Esv00001A56sd00001525*
++ ID_MODEL_FROM_DATABASE=QCA6174 802.11ac Wireless Network Adapter (Killer N1525 Wireless-AC)
+
+ pci:v0000168Cd00000207*
+ ID_MODEL_FROM_DATABASE=AR5210 Wireless Network Adapter [AR5000 802.11a]
+@@ -54326,6 +54563,12 @@ pci:v00001924d00000903sv00001924sd00008009*
+ pci:v00001924d00000903sv00001924sd0000800A*
+ ID_MODEL_FROM_DATABASE=SFC9120 (SFN7x02F-R2 Flareon 7000 Series 10G Adapter)
+
++pci:v00001924d00000903sv00001924sd0000800B*
++ ID_MODEL_FROM_DATABASE=SFC9120 (SFN7x22F-R3 Flareon Ultra 7000 Series 10G Adapter)
++
++pci:v00001924d00000903sv00001924sd0000800C*
++ ID_MODEL_FROM_DATABASE=SFC9120 (SFN7x02F-R3 Flareon 7000 Series 10G Adapter)
++
+ pci:v00001924d00000923*
+ ID_MODEL_FROM_DATABASE=SFC9140
+
+@@ -55940,6 +56183,27 @@ pci:v00001BB0d00000002*
+ pci:v00001BB0d00000010*
+ ID_MODEL_FROM_DATABASE=OmniCube Accelerator OA-3000-2
+
++pci:v00001BB1*
++ ID_VENDOR_FROM_DATABASE=Seagate Technology PLC
++
++pci:v00001BB1d0000005D*
++ ID_MODEL_FROM_DATABASE=Nytro PCIe Flash Storage
++
++pci:v00001BB1d0000005Dsv00001BB1sd00006501*
++ ID_MODEL_FROM_DATABASE=Nytro PCIe Flash Storage (Nytro XP6500-8A1536 1.5TB)
++
++pci:v00001BB1d0000005Dsv00001BB1sd00006502*
++ ID_MODEL_FROM_DATABASE=Nytro PCIe Flash Storage (Nytro XP6500-8A2048)
++
++pci:v00001BB1d0000005Dsv00001BB1sd00006503*
++ ID_MODEL_FROM_DATABASE=Nytro PCIe Flash Storage (Nytro XP6500-8A4096)
++
++pci:v00001BB1d0000005Dsv00001BB1sd00006511*
++ ID_MODEL_FROM_DATABASE=Nytro PCIe Flash Storage (Nytro XH6550-2GB DRAM)
++
++pci:v00001BB1d0000005Dsv00001BB1sd00006512*
++ ID_MODEL_FROM_DATABASE=Nytro PCIe Flash Storage (Nytro XH6550-8GB DRAM)
++
+ pci:v00001BB3*
+ ID_VENDOR_FROM_DATABASE=Bluecherry
+
+@@ -57905,6 +58169,9 @@ pci:v00007401*
+ pci:v00007401d0000E100*
+ ID_MODEL_FROM_DATABASE=PTP3100 PCIe PTP Slave Clock
+
++pci:v00007470*
++ ID_VENDOR_FROM_DATABASE=TP-LINK Technologies Co., Ltd.
++
+ pci:v00007604*
+ ID_VENDOR_FROM_DATABASE=O.N. Electronic Co Ltd.
+
+@@ -58434,13 +58701,13 @@ pci:v00008086d00000341*
+ ID_MODEL_FROM_DATABASE=41210 [Lanai] Serial to Parallel PCI Bridge (B-Segment Bridge)
+
+ pci:v00008086d00000370*
+- ID_MODEL_FROM_DATABASE=80333 Segment-A PCI Express-to-PCI Express Bridge
++ ID_MODEL_FROM_DATABASE=80333 Segment-A PCIe Express to PCI-X bridge
+
+ pci:v00008086d00000371*
+ ID_MODEL_FROM_DATABASE=80333 A-Bus IOAPIC
+
+ pci:v00008086d00000372*
+- ID_MODEL_FROM_DATABASE=80333 Segment-B PCI Express-to-PCI Express Bridge
++ ID_MODEL_FROM_DATABASE=80333 Segment-B PCIe Express to PCI-X bridge
+
+ pci:v00008086d00000373*
+ ID_MODEL_FROM_DATABASE=80333 B-Bus IOAPIC
+@@ -62285,6 +62552,9 @@ pci:v00008086d00001521sv0000103Csd00003380*
+ pci:v00008086d00001521sv0000103Csd0000339E*
+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet 1Gb 2-port 361T Adapter)
+
++pci:v00008086d00001521sv0000103Csd00008157*
++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet 1Gb 4-port 366T Adapter)
++
+ pci:v00008086d00001521sv0000108Esd00007B16*
+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Quad Port GbE PCIe 2.0 ExpressModule, UTP)
+
+@@ -62588,6 +62858,12 @@ pci:v00008086d00001572*
+ pci:v00008086d00001572sv00001028sd00001F99*
+ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet 10G 4P X710/I350 rNDC)
+
++pci:v00008086d00001572sv00001137sd00000000*
++ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet Converged NIC X710-4)
++
++pci:v00008086d00001572sv00001137sd0000013B*
++ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet Converged NIC X710-4)
++
+ pci:v00008086d00001572sv000017AAsd00000000*
+ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (ThinkServer XL710 AnyFabric)
+
+@@ -62636,6 +62912,18 @@ pci:v00008086d00001581sv00001028sd00001F98*
+ pci:v00008086d00001583*
+ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+
+
++pci:v00008086d00001583sv0000108Esd00000000*
++ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Oracle 10 Gb and 40 Gb Ethernet Adapter)
++
++pci:v00008086d00001583sv0000108Esd00007B1B*
++ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Oracle 10 Gb and 40 Gb Ethernet Adapter)
++
++pci:v00008086d00001583sv00001137sd00000000*
++ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet Converged NIC XL710-Q2)
++
++pci:v00008086d00001583sv00001137sd0000013C*
++ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet Converged NIC XL710-Q2)
++
+ pci:v00008086d00001583sv00008086sd00000000*
+ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q2)
+
+@@ -62664,7 +62952,16 @@ pci:v00008086d00001584sv00008086sd00000003*
+ 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+
++ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE QSFP+
++
++pci:v00008086d00001586*
++ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GBASE-T
++
++pci:v00008086d00001586sv0000108Esd00000000*
++ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GBASE-T
++
++pci:v00008086d00001586sv0000108Esd00004857*
++ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GBASE-T
+
+ pci:v00008086d000015A0*
+ ID_MODEL_FROM_DATABASE=Ethernet Connection (2) I218-LM
+@@ -77396,6 +77693,15 @@ pci:v00009412*
+ pci:v00009412d00006565*
+ ID_MODEL_FROM_DATABASE=6565
+
++pci:v00009413*
++ ID_VENDOR_FROM_DATABASE=Softlogic Co., Ltd.
++
++pci:v00009413d00006010*
++ ID_MODEL_FROM_DATABASE=SOLO6010 MPEG-4 Video encoder/decoder
++
++pci:v00009413d00006110*
++ ID_MODEL_FROM_DATABASE=SOLO6110 H.264 Video encoder/decoder
++
+ pci:v00009618*
+ ID_VENDOR_FROM_DATABASE=JusonTech Corporation
+
+diff --git a/hwdb/20-sdio-vendor-model.hwdb b/hwdb/20-sdio-vendor-model.hwdb
+index 626d673c4d..9cf34b2a39 100644
+--- a/hwdb/20-sdio-vendor-model.hwdb
++++ b/hwdb/20-sdio-vendor-model.hwdb
+@@ -80,6 +80,36 @@ sdio:c*v02D0*
+ sdio:c*v02D0d044B*
+ ID_MODEL_FROM_DATABASE=Nintendo Wii WLAN daughter card
+
++sdio:c*v02D0dA887*
++ ID_MODEL_FROM_DATABASE=BCM43143 WLAN card
++
++sdio:c*v02D0d4324*
++ ID_MODEL_FROM_DATABASE=BCM43241 WLAN card
++
++sdio:c*v02D0d4329*
++ ID_MODEL_FROM_DATABASE=BCM4329 WLAN card
++
++sdio:c*v02D0d4330*
++ ID_MODEL_FROM_DATABASE=BCM4330 WLAN card
++
++sdio:c*v02D0d4334*
++ ID_MODEL_FROM_DATABASE=BCM4334 WLAN card
++
++sdio:c*v02D0dA94C*
++ ID_MODEL_FROM_DATABASE=BCM43340 WLAN card
++
++sdio:c*v02D0dA94D*
++ ID_MODEL_FROM_DATABASE=BCM43341 WLAN card
++
++sdio:c*v02D0d4335*
++ ID_MODEL_FROM_DATABASE=BCM4335/BCM4339 WLAN card
++
++sdio:c*v02D0dA962*
++ ID_MODEL_FROM_DATABASE=BCM43362 WLAN card
++
++sdio:c*v02D0d4354*
++ ID_MODEL_FROM_DATABASE=BCM4354 WLAN card
++
+ sdio:c*v02DB*
+ ID_VENDOR_FROM_DATABASE=SyChip Inc.
+
+diff --git a/hwdb/20-usb-vendor-model.hwdb b/hwdb/20-usb-vendor-model.hwdb
+index 94e0269ce7..8867531a31 100644
+--- a/hwdb/20-usb-vendor-model.hwdb
++++ b/hwdb/20-usb-vendor-model.hwdb
+@@ -503,6 +503,9 @@ usb:v03F0p0217*
+ usb:v03F0p0218*
+ ID_MODEL_FROM_DATABASE=APOLLO P2500/2600
+
++usb:v03F0p022A*
++ ID_MODEL_FROM_DATABASE=Laserjet CP1525nw
++
+ usb:v03F0p0241*
+ ID_MODEL_FROM_DATABASE=Link-5 micro dongle
+
+@@ -1320,7 +1323,7 @@ usb:v03F0p4002*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 635/715/720/735/935 (storage)
+
+ usb:v03F0p4004*
+- ID_MODEL_FROM_DATABASE=cp1160
++ ID_MODEL_FROM_DATABASE=CP1160
+
+ usb:v03F0p4102*
+ ID_MODEL_FROM_DATABASE=PhotoSmart 618
+@@ -2075,6 +2078,9 @@ usb:v0403p1060*
+ usb:v0403p1234*
+ ID_MODEL_FROM_DATABASE=IronLogic RFID Adapter [Z-2 USB]
+
++usb:v0403p1235*
++ ID_MODEL_FROM_DATABASE=Iron Logic Z-397 RS-485/422 converter
++
+ usb:v0403p6001*
+ ID_MODEL_FROM_DATABASE=FT232 USB-Serial (UART) IC
+
+@@ -2147,6 +2153,9 @@ usb:v0403p8B2B*
+ usb:v0403p8B2C*
+ ID_MODEL_FROM_DATABASE=Alpermann+Velte TCC70
+
++usb:v0403p9090*
++ ID_MODEL_FROM_DATABASE=SNAP Stick 200
++
+ usb:v0403p9132*
+ ID_MODEL_FROM_DATABASE=LCD and Temperature Interface
+
+@@ -3311,6 +3320,9 @@ usb:v0411p00E8*
+ usb:v0411p0105*
+ ID_MODEL_FROM_DATABASE=External Hard Drive HD-CEU2 [Drive Station]
+
++usb:v0411p012C*
++ ID_MODEL_FROM_DATABASE=SATA Bridge
++
+ usb:v0411p012E*
+ ID_MODEL_FROM_DATABASE=WLI-UC-AG300N Wireless LAN Adapter
+
+@@ -5378,6 +5390,12 @@ usb:v0451p625F*
+ usb:v0451p8042*
+ ID_MODEL_FROM_DATABASE=Hub
+
++usb:v0451p8142*
++ ID_MODEL_FROM_DATABASE=TUSB8041 4-Port Hub
++
++usb:v0451p926B*
++ ID_MODEL_FROM_DATABASE=TUSB9260 Boot Loader
++
+ usb:v0451pDBC0*
+ ID_MODEL_FROM_DATABASE=Device Bay Controller
+
+@@ -7364,6 +7382,9 @@ usb:v046Dp0A1F*
+ usb:v046Dp0A29*
+ ID_MODEL_FROM_DATABASE=H600 [Wireless Headset]
+
++usb:v046Dp0A37*
++ ID_MODEL_FROM_DATABASE=USB Headset H540
++
+ usb:v046Dp0A38*
+ ID_MODEL_FROM_DATABASE=Headset H340
+
+@@ -7608,7 +7629,7 @@ usb:v046DpC122*
+ ID_MODEL_FROM_DATABASE=Harmony 650/700 Remote
+
+ usb:v046DpC124*
+- ID_MODEL_FROM_DATABASE=Harmony 300 Remote
++ ID_MODEL_FROM_DATABASE=Harmony 300/350 Remote
+
+ usb:v046DpC125*
+ ID_MODEL_FROM_DATABASE=Harmony 200 Remote
+@@ -8432,6 +8453,9 @@ usb:v0471p20E3*
+ usb:v0471p20E4*
+ ID_MODEL_FROM_DATABASE=GoGear ViBE 8GB
+
++usb:v0471p2160*
++ ID_MODEL_FROM_DATABASE=Mio LINK Heart Rate Monitor
++
+ usb:v0471p262C*
+ ID_MODEL_FROM_DATABASE=SPC230NC Webcam
+
+@@ -8948,6 +8972,9 @@ usb:v0483p2018*
+ usb:v0483p2302*
+ ID_MODEL_FROM_DATABASE=Portable Flash Device (PFD)
+
++usb:v0483p347B*
++ ID_MODEL_FROM_DATABASE=ST-LINK/V2-1
++
+ usb:v0483p3744*
+ ID_MODEL_FROM_DATABASE=STLINK Pseudo disk
+
+@@ -9044,6 +9071,9 @@ usb:v0489pE016*
+ usb:v0489pE02C*
+ ID_MODEL_FROM_DATABASE=Atheros AR5BBU12 Bluetooth Device
+
++usb:v0489pE04D*
++ ID_MODEL_FROM_DATABASE=Atheros AR3012 Bluetooth
++
+ usb:v048A*
+ ID_VENDOR_FROM_DATABASE=S-MOS Systems, Inc.
+
+@@ -13277,6 +13307,9 @@ usb:v04D8pF4B5*
+ usb:v04D8pF8DA*
+ ID_MODEL_FROM_DATABASE=Hughski Ltd. ColorHug
+
++usb:v04D8pF8E8*
++ ID_MODEL_FROM_DATABASE=Harmony 300/350 Remote
++
+ usb:v04D8pF91C*
+ ID_MODEL_FROM_DATABASE=SPROG IIv3
+
+@@ -14376,7 +14409,7 @@ usb:v04E8p6632*
+ ID_MODEL_FROM_DATABASE=MITs Sync
+
+ usb:v04E8p663E*
+- ID_MODEL_FROM_DATABASE=D900e Phone
++ ID_MODEL_FROM_DATABASE=D900e/B2100 Phone
+
+ usb:v04E8p663F*
+ ID_MODEL_FROM_DATABASE=SGH-E720/SGH-E840
+@@ -14400,10 +14433,10 @@ usb:v04E8p6734*
+ ID_MODEL_FROM_DATABASE=Juke
+
+ usb:v04E8p6759*
+- ID_MODEL_FROM_DATABASE=D900e Media Player
++ ID_MODEL_FROM_DATABASE=D900e/B2100 Media Player
+
+ usb:v04E8p675A*
+- ID_MODEL_FROM_DATABASE=D900e Mass Storage
++ ID_MODEL_FROM_DATABASE=D900e/B2100 Mass Storage
+
+ usb:v04E8p675B*
+ ID_MODEL_FROM_DATABASE=D900e Camera
+@@ -17153,6 +17186,9 @@ usb:v054Cp04CB*
+ usb:v054Cp0541*
+ ID_MODEL_FROM_DATABASE=DSC-HX100V [Cybershot Digital Still Camera]
+
++usb:v054Cp05C4*
++ ID_MODEL_FROM_DATABASE=DualShock 4
++
+ usb:v054Cp0689*
+ ID_MODEL_FROM_DATABASE=Walkman NWZ-B173F
+
+@@ -17870,6 +17906,9 @@ usb:v056Ap00F6*
+ usb:v056Ap00F8*
+ ID_MODEL_FROM_DATABASE=Cintiq 24HD touch (DTH-2400) tablet
+
++usb:v056Ap0302*
++ ID_MODEL_FROM_DATABASE=Intuos CTH480S2 [Manga]
++
+ usb:v056Ap0307*
+ ID_MODEL_FROM_DATABASE=Cintiq Companion Hybrid 13HD (DTH-A1300) tablet
+
+@@ -20511,7 +20550,7 @@ usb:v05B4p4857*
+ ID_MODEL_FROM_DATABASE=M-Any DAH-210
+
+ usb:v05B4p6001*
+- ID_MODEL_FROM_DATABASE=Digisette DUO-MP3 AR-100
++ ID_MODEL_FROM_DATABASE=HYUNDAI GDS30C6001 SSFDC / MMC I/F Controller
+
+ usb:v05B5*
+ ID_VENDOR_FROM_DATABASE=Dialogic Corp.
+@@ -20618,6 +20657,9 @@ usb:v05C6p9001*
+ usb:v05C6p9002*
+ ID_MODEL_FROM_DATABASE=Gobi Wireless Modem
+
++usb:v05C6p9003*
++ ID_MODEL_FROM_DATABASE=Quectel UC20
++
+ usb:v05C6p9008*
+ ID_MODEL_FROM_DATABASE=Gobi Wireless Modem (QDL mode)
+
+@@ -21548,6 +21590,9 @@ usb:v05DCpA813*
+ usb:v05DCpA815*
+ ID_MODEL_FROM_DATABASE=JumpDrive V10
+
++usb:v05DCpA833*
++ ID_MODEL_FROM_DATABASE=JumpDrive S23 64GB
++
+ usb:v05DCpB002*
+ ID_MODEL_FROM_DATABASE=USB CF Reader
+
+@@ -22589,6 +22634,9 @@ usb:v064EpA219*
+ usb:v064EpC107*
+ ID_MODEL_FROM_DATABASE=HP webcam [dv6-1190en]
+
++usb:v064EpC335*
++ ID_MODEL_FROM_DATABASE=HP TrueVision HD
++
+ usb:v064EpD101*
+ ID_MODEL_FROM_DATABASE=Acer CrystalEye Webcam
+
+@@ -25850,6 +25898,9 @@ usb:v0764p0005*
+ usb:v0764p0501*
+ ID_MODEL_FROM_DATABASE=CP1500 AVR UPS
+
++usb:v0764p0601*
++ ID_MODEL_FROM_DATABASE=PR1500LCDRT2U UPS
++
+ usb:v0765*
+ ID_VENDOR_FROM_DATABASE=X-Rite, Inc.
+
+@@ -26900,6 +26951,9 @@ usb:v07B3p0A06*
+ usb:v07B3p0B00*
+ ID_MODEL_FROM_DATABASE=SmartPhoto F50
+
++usb:v07B3p0C00*
++ ID_MODEL_FROM_DATABASE=OpticPro ST64 Scanner
++
+ usb:v07B3p0C03*
+ ID_MODEL_FROM_DATABASE=OpticPro ST64+ Scanner
+
+@@ -26946,7 +27000,7 @@ usb:v07B4p0112*
+ ID_MODEL_FROM_DATABASE=MAUSB-100 xD Card Reader
+
+ usb:v07B4p0113*
+- ID_MODEL_FROM_DATABASE=Mju 500
++ ID_MODEL_FROM_DATABASE=Mju 500 / Stylus Digital Camera (PTP)
+
+ usb:v07B4p0114*
+ ID_MODEL_FROM_DATABASE=C-350Z Camera
+@@ -28589,6 +28643,9 @@ usb:v0846p9041*
+ usb:v0846p9042*
+ ID_MODEL_FROM_DATABASE=On Networks N150MA 802.11bgn [Realtek RTL8188CUS]
+
++usb:v0846p9043*
++ ID_MODEL_FROM_DATABASE=WNA1000Mv2 802.11bgn [Realtek RTL8188CUS?]
++
+ usb:v0846p9050*
+ ID_MODEL_FROM_DATABASE=A6200 802.11a/b/g/n/ac Wireless Adapter [Broadcom BCM43526]
+
+@@ -29432,6 +29489,9 @@ usb:v08E3p0301*
+ usb:v08E4*
+ ID_VENDOR_FROM_DATABASE=Pioneer Corp.
+
++usb:v08E4p0184*
++ ID_MODEL_FROM_DATABASE=DDJ-WeGO
++
+ usb:v08E4p0185*
+ ID_MODEL_FROM_DATABASE=DDJ-WeGO2
+
+@@ -29990,6 +30050,9 @@ usb:v090Cp037A*
+ usb:v090Cp037B*
+ ID_MODEL_FROM_DATABASE=Silicon Motion Camera
+
++usb:v090Cp037C*
++ ID_MODEL_FROM_DATABASE=300k Pixel Camera
++
+ usb:v090Cp1000*
+ ID_MODEL_FROM_DATABASE=Flash Drive
+
+@@ -30032,6 +30095,9 @@ usb:v090CpB370*
+ usb:v090CpB371*
+ ID_MODEL_FROM_DATABASE=Silicon Motion SM371 Camera
+
++usb:v090CpF37D*
++ ID_MODEL_FROM_DATABASE=Endoscope camera
++
+ usb:v090D*
+ ID_VENDOR_FROM_DATABASE=Multiport Computer Vertriebs GmbH
+
+@@ -30323,6 +30389,9 @@ usb:v0928*
+ usb:v0928p8000*
+ ID_MODEL_FROM_DATABASE=Firmware uploader
+
++usb:v0928pFFFF*
++ ID_MODEL_FROM_DATABASE=Blank Oxford Device
++
+ usb:v0929*
+ ID_VENDOR_FROM_DATABASE=American Biometric Co.
+
+@@ -35774,6 +35843,15 @@ usb:v0C4Bp0500*
+ usb:v0C4Bp0501*
+ ID_MODEL_FROM_DATABASE=cyberJack RFID comfort dual interface smartcard reader
+
++usb:v0C4Bp0502*
++ ID_MODEL_FROM_DATABASE=cyberJack compact
++
++usb:v0C4Bp0504*
++ ID_MODEL_FROM_DATABASE=cyberJack go / go plus
++
++usb:v0C4Bp0505*
++ ID_MODEL_FROM_DATABASE=cyberJack wave
++
+ usb:v0C4Bp9102*
+ ID_MODEL_FROM_DATABASE=cyberJack RFID basis contactless smartcard reader
+
+@@ -35981,6 +36059,36 @@ usb:v0C5E*
+ usb:v0C60*
+ ID_VENDOR_FROM_DATABASE=Apogee Electronics Corp.
+
++usb:v0C60p0001*
++ ID_MODEL_FROM_DATABASE=MiniMe
++
++usb:v0C60p0002*
++ ID_MODEL_FROM_DATABASE=MiniDAC
++
++usb:v0C60p0003*
++ ID_MODEL_FROM_DATABASE=ONE
++
++usb:v0C60p0004*
++ ID_MODEL_FROM_DATABASE=GiO
++
++usb:v0C60p0007*
++ ID_MODEL_FROM_DATABASE=Duet
++
++usb:v0C60p0009*
++ ID_MODEL_FROM_DATABASE=Jam
++
++usb:v0C60p000A*
++ ID_MODEL_FROM_DATABASE=Jam Bootloader
++
++usb:v0C60p000B*
++ ID_MODEL_FROM_DATABASE=MiC
++
++usb:v0C60p000C*
++ ID_MODEL_FROM_DATABASE=MiC Bootloader
++
++usb:v0C60p8007*
++ ID_MODEL_FROM_DATABASE=Duet DFU Mode
++
+ usb:v0C62*
+ ID_VENDOR_FROM_DATABASE=Chant Sincere Co., Ltd
+
+@@ -37524,7 +37632,7 @@ usb:v0DA3*
+ ID_VENDOR_FROM_DATABASE=Nippon Electro-Sensory Devices Corp.
+
+ usb:v0DA4*
+- ID_VENDOR_FROM_DATABASE=Polar Electro OY
++ ID_VENDOR_FROM_DATABASE=Polar Electro Oy
+
+ usb:v0DA4p0001*
+ ID_MODEL_FROM_DATABASE=Interface
+@@ -37667,6 +37775,18 @@ usb:v0DB3*
+ usb:v0DB4*
+ ID_VENDOR_FROM_DATABASE=Chung Fu Chen Yeh Enterprise Corp.
+
++usb:v0DB5*
++ ID_VENDOR_FROM_DATABASE=Access IS
++
++usb:v0DB5p0139*
++ ID_MODEL_FROM_DATABASE=LSR116 CDC
++
++usb:v0DB5p013A*
++ ID_MODEL_FROM_DATABASE=LSR116 Keyboard
++
++usb:v0DB5p013B*
++ ID_MODEL_FROM_DATABASE=LSR116 HID
++
+ usb:v0DB7*
+ ID_VENDOR_FROM_DATABASE=ELCON Systemtechnik
+
+@@ -38510,6 +38630,9 @@ usb:v0E6Fp0005*
+ usb:v0E6Fp0006*
+ ID_MODEL_FROM_DATABASE=Edge wireless Controller
+
++usb:v0E6Fp0128*
++ ID_MODEL_FROM_DATABASE=Wireless PS3 Controller
++
+ usb:v0E70*
+ ID_VENDOR_FROM_DATABASE=Tokyo Electronic Industry Co., Ltd
+
+@@ -38618,6 +38741,9 @@ usb:v0E8Fp0020*
+ usb:v0E8Fp0021*
+ ID_MODEL_FROM_DATABASE=Multimedia Keyboard Controller
+
++usb:v0E8Fp0022*
++ ID_MODEL_FROM_DATABASE=multimedia keyboard controller
++
+ usb:v0E8Fp0201*
+ ID_MODEL_FROM_DATABASE=SmartJoy Frag Xpad/PS2 adaptor
+
+@@ -38858,6 +38984,9 @@ usb:v0EE3p1000*
+ usb:v0EE4*
+ ID_VENDOR_FROM_DATABASE=Sunrich Technology, Ltd
+
++usb:v0EE4p0690*
++ ID_MODEL_FROM_DATABASE=SATA 3 Adapter
++
+ usb:v0EEE*
+ ID_VENDOR_FROM_DATABASE=Digital Stream Technology, Inc.
+
+@@ -39663,7 +39792,7 @@ usb:v0FCEpE19B*
+ ID_MODEL_FROM_DATABASE=C2005 [Xperia M dual] (Mass Storage)
+
+ usb:v0FCEpF0FA*
+- ID_MODEL_FROM_DATABASE=Liveview micro display MN800 in DFU mode
++ ID_MODEL_FROM_DATABASE=MN800 / Smartwatch 2 (DFU mode)
+
+ usb:v0FCF*
+ ID_VENDOR_FROM_DATABASE=Dynastream Innovations, Inc.
+@@ -39884,6 +40013,9 @@ usb:v1004p61C6*
+ usb:v1004p61CC*
+ ID_MODEL_FROM_DATABASE=Optimus S
+
++usb:v1004p61DA*
++ ID_MODEL_FROM_DATABASE=G2 Android Phone [tethering mode]
++
+ usb:v1004p61F1*
+ ID_MODEL_FROM_DATABASE=Optimus Android Phone [LG Software mode]
+
+@@ -39900,13 +40032,13 @@ usb:v1004p6300*
+ ID_MODEL_FROM_DATABASE=Optimus Android Phone
+
+ usb:v1004p631C*
+- ID_MODEL_FROM_DATABASE=Optimus Android Phone [MTP mode]
++ ID_MODEL_FROM_DATABASE=G2/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]
++ ID_MODEL_FROM_DATABASE=G2/Optimus Android Phone [Camera/PTP mode]
+
+ usb:v1004p631F*
+ ID_MODEL_FROM_DATABASE=Optimus Android Phone (Charge Mode)
+@@ -40241,6 +40373,9 @@ usb:v1046p9967*
+ usb:v1048*
+ ID_VENDOR_FROM_DATABASE=Targus Group International
+
++usb:v1048p2010*
++ ID_MODEL_FROM_DATABASE=4-Port hub
++
+ usb:v104B*
+ ID_VENDOR_FROM_DATABASE=Mylex / Buslogic
+
+@@ -40287,13 +40422,22 @@ usb:v1050p0010*
+ ID_MODEL_FROM_DATABASE=Yubikey
+
+ usb:v1050p0110*
+- ID_MODEL_FROM_DATABASE=Yubikey NEO OTP
++ ID_MODEL_FROM_DATABASE=Yubikey NEO(-N) OTP
+
+ usb:v1050p0111*
+- ID_MODEL_FROM_DATABASE=Yubikey NEO OTP+CCID
++ ID_MODEL_FROM_DATABASE=Yubikey NEO(-N) OTP+CCID
+
+ usb:v1050p0112*
+- ID_MODEL_FROM_DATABASE=Yubikey NEO CCID
++ ID_MODEL_FROM_DATABASE=Yubikey NEO(-N) CCID
++
++usb:v1050p0113*
++ ID_MODEL_FROM_DATABASE=Yubikey NEO(-N) U2F
++
++usb:v1050p0114*
++ ID_MODEL_FROM_DATABASE=Yubikey NEO(-N) OTP+U2F
++
++usb:v1050p0115*
++ ID_MODEL_FROM_DATABASE=Yubikey NEO(-N) U2F+CCID
+
+ usb:v1050p0200*
+ ID_MODEL_FROM_DATABASE=U2F Gnubby
+@@ -50777,6 +50921,15 @@ usb:v2931p0A05*
+ usb:v2931p0AFE*
+ ID_MODEL_FROM_DATABASE=Jolla charging only
+
++usb:v2A03*
++ ID_VENDOR_FROM_DATABASE=dog hunter AG
++
++usb:v2A03p0001*
++ ID_MODEL_FROM_DATABASE=Linino One (CDC ACM)
++
++usb:v2A03p8001*
++ ID_MODEL_FROM_DATABASE=Linino ONE board
++
+ usb:v2C02*
+ ID_VENDOR_FROM_DATABASE=Planex Communications
+
diff --git a/0080-networkd-Begin-with-serial-number-1-for-netlink-requ.patch b/0080-networkd-Begin-with-serial-number-1-for-netlink-requ.patch
new file mode 100644
index 0000000..1d52a19
--- /dev/null
+++ b/0080-networkd-Begin-with-serial-number-1-for-netlink-requ.patch
@@ -0,0 +1,45 @@
+From cbc0484a42adf93bdd6897f93b15b0eaeb3077f6 Mon Sep 17 00:00:00 2001
+From: Richard Maw <richard.maw at codethink.co.uk>
+Date: Thu, 12 Mar 2015 18:14:58 +0000
+Subject: [PATCH] networkd: Begin with serial number 1 for netlink requests
+
+"Notifications are of informal nature and no reply is expected, therefore the
+sequence number is typically set to 0."[1]
+
+If networkd is started soon after recent netlink activity, then there
+will be messages with sequence number 0 in the buffer.
+
+The first thing networkd does is to request a dump of all the links. If
+it uses sequence number 0 for this, then it may confuse the dump request's
+response with that of a notification.
+
+This will result in it failing to properly enumerate all the links,
+but more importantly, when it comes to enumerate all the addresses, it
+will still have the link dump in progress, so the address enumeration
+will fail with -EBUSY.
+
+[1]: http://www.infradead.org/~tgr/libnl/doc/core.html#core_msg_types
+
+[tomegun: sequence -> serial]
+
+(cherry picked from commit d422e52a3523ad0955bec4f9fbed46e234d28590)
+---
+ src/libsystemd/sd-rtnl/sd-rtnl.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/src/libsystemd/sd-rtnl/sd-rtnl.c b/src/libsystemd/sd-rtnl/sd-rtnl.c
+index ae49c77e01..7cdcc5d96a 100644
+--- a/src/libsystemd/sd-rtnl/sd-rtnl.c
++++ b/src/libsystemd/sd-rtnl/sd-rtnl.c
+@@ -61,6 +61,11 @@ static int sd_rtnl_new(sd_rtnl **ret) {
+ sizeof(struct nlmsghdr), sizeof(uint8_t)))
+ return -ENOMEM;
+
++ /* Change notification responses have sequence 0, so we must
++ * start our request sequence numbers at 1, or we may confuse our
++ * responses with notifications from the kernel */
++ rtnl->serial = 1;
++
+ *ret = rtnl;
+ rtnl = NULL;
+
diff --git a/0081-journal-remote-downgrade-routine-messages-to-debug.patch b/0081-journal-remote-downgrade-routine-messages-to-debug.patch
new file mode 100644
index 0000000..cf152dd
--- /dev/null
+++ b/0081-journal-remote-downgrade-routine-messages-to-debug.patch
@@ -0,0 +1,179 @@
+From 62ae285fd7265de8ef410b876a8aec047a93ea37 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek at in.waw.pl>
+Date: Thu, 12 Mar 2015 21:29:28 -0400
+Subject: [PATCH] journal-remote: downgrade routine messages to debug
+
+https://bugs.freedesktop.org/show_bug.cgi?id=89486
+(cherry picked from commit 0e72da6fe8671d49b4d458519f5ac7600fd04f03)
+---
+ src/journal-remote/journal-remote-parse.c | 2 +-
+ src/journal-remote/journal-remote-write.c | 2 +-
+ src/journal-remote/journal-remote.c | 36 +++++++++++++++----------------
+ src/journal-remote/microhttpd-util.c | 4 ++--
+ 4 files changed, 22 insertions(+), 22 deletions(-)
+
+diff --git a/src/journal-remote/journal-remote-parse.c b/src/journal-remote/journal-remote-parse.c
+index afded7e380..6c096de03a 100644
+--- a/src/journal-remote/journal-remote-parse.c
++++ b/src/journal-remote/journal-remote-parse.c
+@@ -443,7 +443,7 @@ int process_source(RemoteSource *source, bool compress, bool seal) {
+ return r;
+
+ /* We have a full event */
+- log_trace("Received a full event from source@%p fd:%d (%s)",
++ log_trace("Received full event from source@%p fd:%d (%s)",
+ source, source->fd, source->name);
+
+ if (!source->iovw.count) {
+diff --git a/src/journal-remote/journal-remote-write.c b/src/journal-remote/journal-remote-write.c
+index df30049397..99820fa7b8 100644
+--- a/src/journal-remote/journal-remote-write.c
++++ b/src/journal-remote/journal-remote-write.c
+@@ -156,7 +156,7 @@ int writer_write(Writer *w,
+ if (r < 0)
+ return r;
+ else
+- log_info("%s: Successfully rotated journal", w->journal->path);
++ log_debug("%s: Successfully rotated journal", w->journal->path);
+
+ log_debug("Retrying write.");
+ r = journal_file_append_entry(w->journal, ts, iovw->iovec, iovw->count,
+diff --git a/src/journal-remote/journal-remote.c b/src/journal-remote/journal-remote.c
+index 8f32a9a988..d1486e7cda 100644
+--- a/src/journal-remote/journal-remote.c
++++ b/src/journal-remote/journal-remote.c
+@@ -207,7 +207,7 @@ static int open_output(Writer *w, const char* host) {
+ log_error_errno(r, "Failed to open output journal %s: %m",
+ output);
+ else
+- log_info("Opened output file %s", w->journal->path);
++ log_debug("Opened output file %s", w->journal->path);
+ return r;
+ }
+
+@@ -747,7 +747,7 @@ static int setup_microhttpd_socket(RemoteServer *s,
+ const char *trust) {
+ int fd;
+
+- fd = make_socket_fd(LOG_INFO, address, SOCK_STREAM | SOCK_CLOEXEC);
++ fd = make_socket_fd(LOG_DEBUG, address, SOCK_STREAM | SOCK_CLOEXEC);
+ if (fd < 0)
+ return fd;
+
+@@ -844,7 +844,7 @@ static int remoteserver_init(RemoteServer *s,
+ if (n < 0)
+ return log_error_errno(n, "Failed to read listening file descriptors from environment: %m");
+ else
+- log_info("Received %d descriptors", n);
++ log_debug("Received %d descriptors", n);
+
+ if (MAX(http_socket, https_socket) >= SD_LISTEN_FDS_START + n) {
+ log_error("Received fewer sockets than expected");
+@@ -853,7 +853,7 @@ static int remoteserver_init(RemoteServer *s,
+
+ for (fd = SD_LISTEN_FDS_START; fd < SD_LISTEN_FDS_START + n; fd++) {
+ if (sd_is_socket(fd, AF_UNSPEC, 0, true)) {
+- log_info("Received a listening socket (fd:%d)", fd);
++ log_debug("Received a listening socket (fd:%d)", fd);
+
+ if (fd == http_socket)
+ r = setup_microhttpd_server(s, fd, NULL, NULL, NULL);
+@@ -868,7 +868,7 @@ static int remoteserver_init(RemoteServer *s,
+ if (r < 0)
+ return log_error_errno(r, "Failed to retrieve remote name: %m");
+
+- log_info("Received a connection socket (fd:%d) from %s", fd, hostname);
++ log_debug("Received a connection socket (fd:%d) from %s", fd, hostname);
+
+ r = add_source(s, fd, hostname, true);
+ } else {
+@@ -908,7 +908,7 @@ static int remoteserver_init(RemoteServer *s,
+ }
+
+ if (arg_listen_raw) {
+- log_info("Listening on a socket...");
++ log_debug("Listening on a socket...");
+ r = setup_raw_socket(s, arg_listen_raw);
+ if (r < 0)
+ return r;
+@@ -930,12 +930,12 @@ static int remoteserver_init(RemoteServer *s,
+ const char *output_name;
+
+ if (streq(*file, "-")) {
+- log_info("Using standard input as source.");
++ log_debug("Using standard input as source.");
+
+ fd = STDIN_FILENO;
+ output_name = "stdin";
+ } else {
+- log_info("Reading file %s...", *file);
++ log_debug("Reading file %s...", *file);
+
+ fd = open(*file, O_RDONLY|O_CLOEXEC|O_NOCTTY|O_NONBLOCK);
+ if (fd < 0)
+@@ -1014,22 +1014,22 @@ static int dispatch_raw_source_event(sd_event_source *event,
+ if (source->state == STATE_EOF) {
+ size_t remaining;
+
+- log_info("EOF reached with source fd:%d (%s)",
+- source->fd, source->name);
++ log_debug("EOF reached with source fd:%d (%s)",
++ source->fd, source->name);
+
+ remaining = source_non_empty(source);
+ if (remaining > 0)
+- log_warning("Premature EOF. %zu bytes lost.", remaining);
++ log_notice("Premature EOF. %zu bytes lost.", remaining);
+ remove_source(s, source->fd);
+- log_info("%zu active sources remaining", s->active);
++ log_debug("%zu active sources remaining", s->active);
+ return 0;
+ } else if (r == -E2BIG) {
+- log_error("Entry too big, skipped");
++ log_notice_errno(E2BIG, "Entry too big, skipped");
+ return 1;
+ } else if (r == -EAGAIN) {
+ return 0;
+ } else if (r < 0) {
+- log_info_errno(r, "Closing connection: %m");
++ log_debug_errno(r, "Closing connection: %m");
+ remove_source(server, fd);
+ return 0;
+ } else
+@@ -1071,10 +1071,10 @@ static int accept_connection(const char* type, int fd,
+ return r;
+ }
+
+- log_info("Accepted %s %s connection from %s",
+- type,
+- socket_address_family(addr) == AF_INET ? "IP" : "IPv6",
+- a);
++ log_debug("Accepted %s %s connection from %s",
++ type,
++ socket_address_family(addr) == AF_INET ? "IP" : "IPv6",
++ a);
+
+ *hostname = b;
+
+diff --git a/src/journal-remote/microhttpd-util.c b/src/journal-remote/microhttpd-util.c
+index a95fff18f3..b45c38d682 100644
+--- a/src/journal-remote/microhttpd-util.c
++++ b/src/journal-remote/microhttpd-util.c
+@@ -178,7 +178,7 @@ static int verify_cert_authorized(gnutls_session_t session) {
+ if (r < 0)
+ return log_error_errno(r, "gnutls_certificate_verification_status_print failed: %m");
+
+- log_info("Certificate status: %s", out.data);
++ log_debug("Certificate status: %s", out.data);
+ gnutls_free(out.data);
+
+ return status == 0 ? 0 : -EPERM;
+@@ -280,7 +280,7 @@ int check_permissions(struct MHD_Connection *connection, int *code, char **hostn
+ return -EPERM;
+ }
+
+- log_info("Connection from %s", buf);
++ log_debug("Connection from %s", buf);
+
+ if (hostname) {
+ *hostname = buf;
diff --git a/0082-journal-remote-process-events-without-delay.patch b/0082-journal-remote-process-events-without-delay.patch
new file mode 100644
index 0000000..ff4f296
--- /dev/null
+++ b/0082-journal-remote-process-events-without-delay.patch
@@ -0,0 +1,156 @@
+From 706ce3faab879d4cb20906ad6d27e962ab3e4ad0 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek at in.waw.pl>
+Date: Fri, 13 Mar 2015 00:02:28 -0400
+Subject: [PATCH] journal-remote: process events without delay
+
+journal-remote buffers input, and then parses it handling one journal entry at a time.
+It was possible for useful data to be left in the buffer after some entries were
+processesed. But all data would be already read from the fd, so there would be
+no reason for the event loop to call the handler again. After some new data came in,
+the handler would be called again, and would then process the "old" data in the buffer.
+
+Fix this by enabling a handler wherever we process input data and do not exhaust data
+from the input buffer (i.e. when EAGAIN was not encountered). The handler runs until
+we encounter EAGAIN.
+
+Looping over the input data is done in this roundabout way to allow the event loop
+to dispatch other events in the meanwhile. If the loop was inside the handler, a
+source which produced data fast enough could completely monopolize the process.
+
+https://bugs.freedesktop.org/show_bug.cgi?id=89516
+(cherry picked from commit 043945b93824e33e040954612aaa934cd1a43a1b)
+---
+ src/journal-remote/journal-remote-parse.c | 1 +
+ src/journal-remote/journal-remote-parse.h | 1 +
+ src/journal-remote/journal-remote.c | 65 +++++++++++++++++++++++++++----
+ 3 files changed, 59 insertions(+), 8 deletions(-)
+
+diff --git a/src/journal-remote/journal-remote-parse.c b/src/journal-remote/journal-remote-parse.c
+index 6c096de03a..7e62954351 100644
+--- a/src/journal-remote/journal-remote-parse.c
++++ b/src/journal-remote/journal-remote-parse.c
+@@ -41,6 +41,7 @@ void source_free(RemoteSource *source) {
+ writer_unref(source->writer);
+
+ sd_event_source_unref(source->event);
++ sd_event_source_unref(source->buffer_event);
+
+ free(source);
+ }
+diff --git a/src/journal-remote/journal-remote-parse.h b/src/journal-remote/journal-remote-parse.h
+index 22db550913..06a50296a1 100644
+--- a/src/journal-remote/journal-remote-parse.h
++++ b/src/journal-remote/journal-remote-parse.h
+@@ -54,6 +54,7 @@ typedef struct RemoteSource {
+ Writer *writer;
+
+ sd_event_source *event;
++ sd_event_source *buffer_event;
+ } RemoteSource;
+
+ RemoteSource* source_new(int fd, bool passive_fd, char *name, Writer *writer);
+diff --git a/src/journal-remote/journal-remote.c b/src/journal-remote/journal-remote.c
+index d1486e7cda..b7cc6d7172 100644
+--- a/src/journal-remote/journal-remote.c
++++ b/src/journal-remote/journal-remote.c
+@@ -289,6 +289,8 @@ static int dispatch_raw_source_event(sd_event_source *event,
+ int fd,
+ uint32_t revents,
+ void *userdata);
++static int dispatch_raw_source_until_block(sd_event_source *event,
++ void *userdata);
+ static int dispatch_blocking_source_event(sd_event_source *event,
+ void *userdata);
+ static int dispatch_raw_connection_event(sd_event_source *event,
+@@ -376,8 +378,15 @@ static int add_source(RemoteServer *s, int fd, char* name, bool own_name) {
+
+ r = sd_event_add_io(s->events, &source->event,
+ fd, EPOLLIN|EPOLLRDHUP|EPOLLPRI,
+- dispatch_raw_source_event, s);
+- if (r == -EPERM) {
++ dispatch_raw_source_event, source);
++ if (r == 0) {
++ /* Add additional source for buffer processing. It will be
++ * enabled later. */
++ r = sd_event_add_defer(s->events, &source->buffer_event,
++ dispatch_raw_source_until_block, source);
++ if (r == 0)
++ sd_event_source_set_enabled(source->buffer_event, SD_EVENT_OFF);
++ } else if (r == -EPERM) {
+ log_debug("Falling back to sd_event_add_defer for fd:%d (%s)", fd, name);
+ r = sd_event_add_defer(s->events, &source->event,
+ dispatch_blocking_source_event, source);
+@@ -997,15 +1006,18 @@ static void server_destroy(RemoteServer *s) {
+ **********************************************************************
+ **********************************************************************/
+
+-static int dispatch_raw_source_event(sd_event_source *event,
+- int fd,
+- uint32_t revents,
+- void *userdata) {
++static int handle_raw_source(sd_event_source *event,
++ int fd,
++ uint32_t revents,
++ RemoteServer *s) {
+
+- RemoteServer *s = userdata;
+ RemoteSource *source;
+ int r;
+
++ /* Returns 1 if there might be more data pending,
++ * 0 if data is currently exhausted, negative on error.
++ */
++
+ assert(fd >= 0 && fd < (ssize_t) s->sources_size);
+ source = s->sources[fd];
+ assert(source->fd == fd);
+@@ -1036,11 +1048,48 @@ static int dispatch_raw_source_event(sd_event_source *event,
+ return 1;
+ }
+
++static int dispatch_raw_source_until_block(sd_event_source *event,
++ void *userdata) {
++ RemoteSource *source = userdata;
++ int r;
++
++ /* Make sure event stays around even if source is destroyed */
++ sd_event_source_ref(event);
++
++ r = handle_raw_source(event, source->fd, EPOLLIN, server);
++ if (r != 1)
++ /* No more data for now */
++ sd_event_source_set_enabled(event, SD_EVENT_OFF);
++
++ sd_event_source_unref(event);
++
++ return r;
++}
++
++static int dispatch_raw_source_event(sd_event_source *event,
++ int fd,
++ uint32_t revents,
++ void *userdata) {
++ RemoteSource *source = userdata;
++ int r;
++
++ assert(source->event);
++ assert(source->buffer_event);
++
++ r = handle_raw_source(event, fd, EPOLLIN, server);
++ if (r == 1)
++ /* Might have more data. We need to rerun the handler
++ * until we are sure the buffer is exhausted. */
++ sd_event_source_set_enabled(source->buffer_event, SD_EVENT_ON);
++
++ return r;
++}
++
+ static int dispatch_blocking_source_event(sd_event_source *event,
+ void *userdata) {
+ RemoteSource *source = userdata;
+
+- return dispatch_raw_source_event(event, source->fd, EPOLLIN, server);
++ return handle_raw_source(event, source->fd, EPOLLIN, server);
+ }
+
+ static int accept_connection(const char* type, int fd,
diff --git a/0083-man-update-example-2-in-systemd.network-5.patch b/0083-man-update-example-2-in-systemd.network-5.patch
new file mode 100644
index 0000000..b8f49e7
--- /dev/null
+++ b/0083-man-update-example-2-in-systemd.network-5.patch
@@ -0,0 +1,26 @@
+From 1d6c7cfcd4e9f4117264e1611ce881a871b92a56 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek at in.waw.pl>
+Date: Fri, 13 Mar 2015 00:25:31 -0400
+Subject: [PATCH] man: update example 2 in systemd.network(5)
+
+none/both/v4/v6 are deprecated in favour of no/yes/ipv4/ipv6.
+
+https://bugs.freedesktop.org/show_bug.cgi?id=89221
+(cherry picked from commit 9c8ca3f7a69f82ca181b3cd2d5e1d3e621938abb)
+---
+ man/systemd.network.xml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/man/systemd.network.xml b/man/systemd.network.xml
+index 485876b6ac..24f8416ef9 100644
+--- a/man/systemd.network.xml
++++ b/man/systemd.network.xml
+@@ -643,7 +643,7 @@ Gateway=192.168.0.1</programlisting>
+ Name=en*
+
+ [Network]
+-DHCP=both</programlisting>
++DHCP=yes</programlisting>
+ </example>
+
+ <example>
diff --git a/0084-gpt-auto-generator-fix-detection-of-srv.patch b/0084-gpt-auto-generator-fix-detection-of-srv.patch
new file mode 100644
index 0000000..ed2547c
--- /dev/null
+++ b/0084-gpt-auto-generator-fix-detection-of-srv.patch
@@ -0,0 +1,24 @@
+From 4bbc153799e5b29d19c1ec699abfa3d562d8be46 Mon Sep 17 00:00:00 2001
+From: Mathieu Chevrier <chevrier.mathieu at gmail.com>
+Date: Fri, 13 Mar 2015 00:33:44 -0400
+Subject: [PATCH] gpt-auto-generator: fix detection of /srv
+
+https://bugs.freedesktop.org/show_bug.cgi?id=89226
+(cherry picked from commit d736e4f3e76daca4ab1b1fc444737e5ee20a27cd)
+---
+ src/gpt-auto-generator/gpt-auto-generator.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/gpt-auto-generator/gpt-auto-generator.c b/src/gpt-auto-generator/gpt-auto-generator.c
+index 5c58b58f8a..869a230f17 100644
+--- a/src/gpt-auto-generator/gpt-auto-generator.c
++++ b/src/gpt-auto-generator/gpt-auto-generator.c
+@@ -548,7 +548,7 @@ static int enumerate_partitions(dev_t devnum) {
+ srv_rw = !(flags & GPT_FLAG_READ_ONLY),
+
+ free(srv);
+- srv = strdup(node);
++ srv = strdup(subnode);
+ if (!srv)
+ return log_oom();
+ }
diff --git a/0085-sd-rtnl-never-set-serial-to-0.patch b/0085-sd-rtnl-never-set-serial-to-0.patch
new file mode 100644
index 0000000..36c0284
--- /dev/null
+++ b/0085-sd-rtnl-never-set-serial-to-0.patch
@@ -0,0 +1,28 @@
+From 12e474fdf33ffc500aacad39fe19aa57b344f9cb Mon Sep 17 00:00:00 2001
+From: Tom Gundersen <teg at jklm.no>
+Date: Fri, 13 Mar 2015 15:49:07 +0100
+Subject: [PATCH] sd-rtnl: never set serial to 0
+
+In the unlikely event that we wrap the counter, skip 0 as this is used
+for broadcasts.
+
+Suggested by Richard Maw.
+
+(cherry picked from commit 913b0eef1a01e0c78f0453b0174e75d5caae1023)
+---
+ src/libsystemd/sd-rtnl/sd-rtnl.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/libsystemd/sd-rtnl/sd-rtnl.c b/src/libsystemd/sd-rtnl/sd-rtnl.c
+index 7cdcc5d96a..5df39e1177 100644
+--- a/src/libsystemd/sd-rtnl/sd-rtnl.c
++++ b/src/libsystemd/sd-rtnl/sd-rtnl.c
+@@ -262,7 +262,7 @@ static void rtnl_seal_message(sd_rtnl *rtnl, sd_rtnl_message *m) {
+ assert(m);
+ assert(m->hdr);
+
+- m->hdr->nlmsg_seq = rtnl->serial++;
++ m->hdr->nlmsg_seq = rtnl->serial++ ? : rtnl->serial++;
+
+ rtnl_message_seal(m);
+
diff --git a/0086-gpt-auto-generator-allow-type-check-to-fail.patch b/0086-gpt-auto-generator-allow-type-check-to-fail.patch
new file mode 100644
index 0000000..f9194c9
--- /dev/null
+++ b/0086-gpt-auto-generator-allow-type-check-to-fail.patch
@@ -0,0 +1,45 @@
+From 1261a8df61818d48c6bc9445a16b40e24ffaa74e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek at in.waw.pl>
+Date: Fri, 13 Mar 2015 21:10:13 -0500
+Subject: [PATCH] gpt-auto-generator: allow type check to fail
+
+add_mount() is OK with unknow file type, but we have to initalize
+the variable to NULL not to pass garbage on error.
+
+(cherry picked from commit a0b1209c4a59754f428894e0485413542da50014)
+---
+ src/gpt-auto-generator/gpt-auto-generator.c | 13 +++++--------
+ 1 file changed, 5 insertions(+), 8 deletions(-)
+
+diff --git a/src/gpt-auto-generator/gpt-auto-generator.c b/src/gpt-auto-generator/gpt-auto-generator.c
+index 869a230f17..e0a5bb305b 100644
+--- a/src/gpt-auto-generator/gpt-auto-generator.c
++++ b/src/gpt-auto-generator/gpt-auto-generator.c
+@@ -290,7 +290,7 @@ static int probe_and_add_mount(
+ const char *post) {
+
+ _cleanup_blkid_free_probe_ blkid_probe b = NULL;
+- const char *fstype;
++ const char *fstype = NULL;
+ int r;
+
+ assert(id);
+@@ -323,14 +323,11 @@ static int probe_and_add_mount(
+ r = blkid_do_safeprobe(b);
+ if (r == -2 || r == 1) /* no result or uncertain */
+ return 0;
+- else if (r != 0) {
+- if (errno == 0)
+- errno = EIO;
+- log_error_errno(errno, "Failed to probe %s: %m", what);
+- return -errno;
+- }
++ else if (r != 0)
++ return log_error_errno(errno ?: EIO, "Failed to probe %s: %m", what);
+
+- blkid_probe_lookup_value(b, "TYPE", &fstype, NULL);
++ /* add_mount is OK with fstype being NULL. */
++ (void) blkid_probe_lookup_value(b, "TYPE", &fstype, NULL);
+
+ return add_mount(
+ id,
diff --git a/0087-man-fix-a-bunch-of-links.patch b/0087-man-fix-a-bunch-of-links.patch
new file mode 100644
index 0000000..2c97c98
--- /dev/null
+++ b/0087-man-fix-a-bunch-of-links.patch
@@ -0,0 +1,1453 @@
+From 285bc1b0a3d2a6e0b87a7778de8227216feb897e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek at in.waw.pl>
+Date: Fri, 13 Mar 2015 21:22:39 -0500
+Subject: [PATCH] man: fix a bunch of links
+
+All hail linkchecker!
+
+(cherry picked from commit 3ba3a79df4ae094d1008c04a9af8d1ff970124c4)
+
+Conflicts:
+ man/systemd-efi-boot-generator.xml
+---
+ man/busctl.xml | 4 ++--
+ man/crypttab.xml | 20 +++++++++----------
+ man/file-hierarchy.xml | 2 +-
+ man/kernel-command-line.xml | 2 +-
+ man/locale.conf.xml | 8 ++++----
+ man/localectl.xml | 8 ++++----
+ man/logind.conf.xml | 2 +-
+ man/machine-id.xml | 4 ++--
+ man/modules-load.d.xml | 2 +-
+ man/os-release.xml | 2 +-
+ man/sd_bus_message_append.xml | 2 +-
+ man/sd_bus_open_user.xml | 2 +-
+ man/sd_event_add_signal.xml | 4 ++--
+ man/sd_journal_get_catalog.xml | 2 +-
+ man/sd_journal_get_cursor.xml | 2 +-
+ man/sd_journal_print.xml | 14 ++++++-------
+ man/sysctl.d.xml | 8 ++++----
+ man/systemctl.xml | 6 +++---
+ man/systemd-activate.xml | 2 +-
+ man/systemd-analyze.xml | 4 ++--
+ man/systemd-cat.xml | 2 +-
+ man/systemd-cryptsetup-generator.xml | 2 +-
+ man/systemd-cryptsetup at .service.xml | 2 +-
+ man/systemd-efi-boot-generator.xml | 4 ++--
+ man/systemd-firstboot.xml | 14 ++++++-------
+ man/systemd-fstab-generator.xml | 4 ++--
+ man/systemd-gpt-auto-generator.xml | 8 ++++----
+ man/systemd-hibernate-resume-generator.xml | 2 +-
+ man/systemd-journald.service.xml | 2 +-
+ man/systemd-localed.service.xml | 8 ++++----
+ man/systemd-nspawn.xml | 4 ++--
+ man/systemd-quotacheck.service.xml | 2 +-
+ man/systemd-remount-fs.service.xml | 6 +++---
+ man/systemd-socket-proxyd.xml | 8 ++++----
+ man/systemd-sysctl.service.xml | 8 ++++----
+ man/systemd-system.conf.xml | 2 +-
+ man/systemd-update-utmp.service.xml | 2 +-
+ man/systemd-vconsole-setup.service.xml | 8 ++++----
+ man/systemd.automount.xml | 6 +++---
+ man/systemd.exec.xml | 16 +++++++--------
+ man/systemd.generator.xml | 2 +-
+ man/systemd.journal-fields.xml | 2 +-
+ man/systemd.kill.xml | 4 ++--
+ man/systemd.mount.xml | 14 ++++++-------
+ man/systemd.network.xml | 8 ++++----
+ man/systemd.path.xml | 4 ++--
+ man/systemd.socket.xml | 32 +++++++++++++++---------------
+ man/systemd.swap.xml | 10 +++++-----
+ man/systemd.unit.xml | 4 ++--
+ man/systemd.xml | 6 +++---
+ man/vconsole.conf.xml | 6 +++---
+ 51 files changed, 151 insertions(+), 151 deletions(-)
+
+diff --git a/man/busctl.xml b/man/busctl.xml
+index 251233bb96..cc1844b0a0 100644
+--- a/man/busctl.xml
++++ b/man/busctl.xml
+@@ -288,7 +288,7 @@
+ url="http://wiki.wireshark.org/Development/LibpcapFileFormat">Libpcap
+ File Format</ulink> description. Make sure to redirect the
+ output to STDOUT to a file. Tools like
+- <citerefentry><refentrytitle>wireshark</refentrytitle><manvolnum>1</manvolnum></citerefentry>
++ <citerefentry project='die-net'><refentrytitle>wireshark</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ may be used to dissect and view the generated
+ files.</para></listitem>
+ </varlistentry>
+@@ -472,7 +472,7 @@ o "/org/freedesktop/systemd1/job/42684"</programlisting>
+ <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-bus-proxyd</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>machinectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>wireshark</refentrytitle><manvolnum>1</manvolnum></citerefentry>
++ <citerefentry project='die-net'><refentrytitle>wireshark</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ </para>
+ </refsect1>
+ </refentry>
+diff --git a/man/crypttab.xml b/man/crypttab.xml
+index aeacc57973..3e249ad23e 100644
+--- a/man/crypttab.xml
++++ b/man/crypttab.xml
+@@ -75,7 +75,7 @@
+
+ <para>Setting up encrypted block devices using this file supports
+ three encryption modes: LUKS, TrueCrypt and plain. See
+- <citerefentry><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
++ <citerefentry project='die-net'><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ for more information about each mode. When no mode is specified in
+ the options field and the block device contains a LUKS signature,
+ it is opened as a LUKS device; otherwise, it is assumed to be in
+@@ -117,7 +117,7 @@
+ <term><option>cipher=</option></term>
+
+ <listitem><para>Specifies the cipher to use. See
+- <citerefentry><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
++ <citerefentry project='die-net'><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ for possible values and the default value of this option. A
+ cipher with unpredictable IV values, such as
+ <literal>aes-cbc-essiv:sha256</literal>, is
+@@ -129,7 +129,7 @@
+
+ <listitem><para>Specifies the hash to use for password
+ hashing. See
+- <citerefentry><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
++ <citerefentry project='die-net'><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ for possible values and the default value of this
+ option.</para></listitem>
+ </varlistentry>
+@@ -140,7 +140,7 @@
+ <listitem><para>Use a detached (separated) metadata device or
+ file where the LUKS header is stored. This option is only
+ relevant for LUKS devices. See
+- <citerefentry><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
++ <citerefentry project='die-net'><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ for possible values and the default value of this
+ option.</para></listitem>
+ </varlistentry>
+@@ -150,7 +150,7 @@
+
+ <listitem><para>Specifies the number of bytes to skip at the
+ start of the key file. See
+- <citerefentry><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
++ <citerefentry project='die-net'><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ for possible values and the default value of this
+ option.</para></listitem>
+ </varlistentry>
+@@ -160,7 +160,7 @@
+
+ <listitem><para>Specifies the maximum number of bytes to read
+ from the key file. See
+- <citerefentry><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
++ <citerefentry project='die-net'><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ for possible values and the default value of this option. This
+ option is ignored in plain encryption mode, as the key file
+ size is then given by the key size.</para></listitem>
+@@ -174,7 +174,7 @@
+ given passphrase or key, but another would, the setup of the
+ device will fail regardless. This option implies
+ <option>luks</option>. See
+- <citerefentry><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
++ <citerefentry project='die-net'><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ for possible values. The default is to try all key slots in
+ sequential order.</para></listitem>
+ </varlistentry>
+@@ -221,7 +221,7 @@
+ <term><option>size=</option></term>
+
+ <listitem><para>Specifies the key size in bits. See
+- <citerefentry><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
++ <citerefentry project='die-net'><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ for possible values and the default value of this
+ option.</para></listitem>
+ </varlistentry>
+@@ -278,7 +278,7 @@
+ volume provided in the second field. Please note that there is
+ no protection for the hidden volume if the outer volume is
+ mounted instead. See
+- <citerefentry><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
++ <citerefentry project='die-net'><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ for more information on this limitation.</para></listitem>
+ </varlistentry>
+
+@@ -383,7 +383,7 @@ hidden /mnt/tc_hidden /dev/null tcrypt-hidden,tcrypt-keyfile=/etc/keyfil
+ <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-cryptsetup at .service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-cryptsetup-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
++ <citerefentry project='die-net'><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry project='man-pages'><refentrytitle>mkswap</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry project='man-pages'><refentrytitle>mke2fs</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ </para>
+diff --git a/man/file-hierarchy.xml b/man/file-hierarchy.xml
+index e9c894f5c8..364e130790 100644
+--- a/man/file-hierarchy.xml
++++ b/man/file-hierarchy.xml
+@@ -397,7 +397,7 @@
+ <term><filename>/dev/shm</filename></term>
+ <listitem><para>Place for POSIX shared memory segments, as
+ created via
+- <citerefentry><refentrytitle>shm_open</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
++ <citerefentry project='die-net'><refentrytitle>shm_open</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
+ This directory is flushed on boot, and is a
+ <literal>tmpfs</literal> file system. Since all users have
+ write access to this directory, special care should be taken
+diff --git a/man/kernel-command-line.xml b/man/kernel-command-line.xml
+index 3741cf9cc2..919bd13745 100644
+--- a/man/kernel-command-line.xml
++++ b/man/kernel-command-line.xml
+@@ -336,7 +336,7 @@
+ <listitem>
+ <para>Enables resume from hibernation using the specified
+ device. All
+- <citerefentry><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>-like
++ <citerefentry project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>-like
+ paths are supported. For details, see
+ <citerefentry><refentrytitle>systemd-hibernate-resume-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
+ </listitem>
+diff --git a/man/locale.conf.xml b/man/locale.conf.xml
+index 48c0006db2..2c32d16094 100644
+--- a/man/locale.conf.xml
++++ b/man/locale.conf.xml
+@@ -91,7 +91,7 @@
+ might be checked for locale configuration as well, however only as
+ fallback.</para>
+
+- <para><citerefentry><refentrytitle>localectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
++ <para><citerefentry project='man-pages'><refentrytitle>localectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ may be used to alter the settings in this file during runtime from
+ the command line. Use
+ <citerefentry><refentrytitle>systemd-firstboot</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+@@ -121,7 +121,7 @@
+ Note that <varname>LC_ALL</varname> may not be configured in this
+ file. For details about the meaning and semantics of these
+ settings, refer to
+- <citerefentry><refentrytitle>locale</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
++ <citerefentry project='man-pages'><refentrytitle>locale</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
+ </refsect1>
+
+ <refsect1>
+@@ -142,8 +142,8 @@ LC_MESSAGES=en_US.UTF-8</programlisting>
+ <title>See Also</title>
+ <para>
+ <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>locale</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>localectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
++ <citerefentry project='man-pages'><refentrytitle>locale</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
++ <citerefentry project='man-pages'><refentrytitle>localectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-localed.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-firstboot</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ </para>
+diff --git a/man/localectl.xml b/man/localectl.xml
+index aae6e0629c..7def047f62 100644
+--- a/man/localectl.xml
++++ b/man/localectl.xml
+@@ -124,7 +124,7 @@
+ <listitem><para>Set the system locale. This takes one or more
+ assignments such as "LANG=de_DE.utf8",
+ "LC_MESSAGES=en_GB.utf8", and so on. See
+- <citerefentry><refentrytitle>locale</refentrytitle><manvolnum>7</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>locale</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ for details on the available settings and their meanings. Use
+ <command>list-locales</command> for a list of available
+ locales (see below). </para></listitem>
+@@ -204,10 +204,10 @@
+ <title>See Also</title>
+ <para>
+ <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>locale</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
++ <citerefentry project='man-pages'><refentrytitle>locale</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
++ <citerefentry project='man-pages'><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>vconsole.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>loadkeys</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
++ <citerefentry project='mankier'><refentrytitle>loadkeys</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>kbd</refentrytitle><manvolnum>4</manvolnum></citerefentry>,
+ <ulink url="http://www.x.org/releases/current/doc/xorg-docs/input/XKB-Config.html">
+ The XKB Configuration Guide
+diff --git a/man/logind.conf.xml b/man/logind.conf.xml
+index ca2b18783c..d02d573565 100644
+--- a/man/logind.conf.xml
++++ b/man/logind.conf.xml
+@@ -126,7 +126,7 @@
+
+ <para>Note that setting <varname>KillUserProcesses=1</varname>
+ will break tools like
+- <citerefentry><refentrytitle>screen</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para></listitem>
++ <citerefentry project='die-net'><refentrytitle>screen</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+diff --git a/man/machine-id.xml b/man/machine-id.xml
+index 83e0b26ced..92d67a3869 100644
+--- a/man/machine-id.xml
++++ b/man/machine-id.xml
+@@ -75,7 +75,7 @@
+ globally unique ID in the network, which does not change even if
+ the local network configuration changes. Due to this and its
+ greater length, it is a more useful replacement for the
+- <citerefentry><refentrytitle>gethostid</refentrytitle><manvolnum>3</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>gethostid</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+ call that POSIX specifies.</para>
+
+ <para>The
+@@ -127,7 +127,7 @@ id[8] = (id[8] & 0x3F) | 0x80;</programlisting>
+ <para>
+ <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-machine-id-setup</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>gethostid</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
++ <citerefentry project='man-pages'><refentrytitle>gethostid</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>hostname</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>machine-info</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>os-release</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+diff --git a/man/modules-load.d.xml b/man/modules-load.d.xml
+index 34a937db68..4b722aa128 100644
+--- a/man/modules-load.d.xml
++++ b/man/modules-load.d.xml
+@@ -94,7 +94,7 @@ virtio-net</programlisting>
+ <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-modules-load.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-delta</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>modprobe</refentrytitle><manvolnum>8</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>modprobe</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ </para>
+ </refsect1>
+
+diff --git a/man/os-release.xml b/man/os-release.xml
+index 1b71a49d05..8f4ab10fed 100644
+--- a/man/os-release.xml
++++ b/man/os-release.xml
+@@ -316,7 +316,7 @@ BUG_REPORT_URL="https://bugzilla.redhat.com/"</programlisting>
+ <title>See Also</title>
+ <para>
+ <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>lsb_release</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
++ <citerefentry project='die-net'><refentrytitle>lsb_release</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>hostname</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>machine-info</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+diff --git a/man/sd_bus_message_append.xml b/man/sd_bus_message_append.xml
+index 0c49a0c7c9..11fa07c636 100644
+--- a/man/sd_bus_message_append.xml
++++ b/man/sd_bus_message_append.xml
+@@ -245,7 +245,7 @@ sd_bus_message_append(m, "ynqiuxtd", y, n, q, i, u, x, t, d);</programlisting>
+ <citerefentry><refentrytitle>sd_bus_new</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>sd_bus_ref</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>sd_bus_unref</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>ssh</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
++ <citerefentry project='die-net'><refentrytitle>ssh</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-machined.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>machinectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ </para>
+diff --git a/man/sd_bus_open_user.xml b/man/sd_bus_open_user.xml
+index e7a765962a..2bbb010696 100644
+--- a/man/sd_bus_open_user.xml
++++ b/man/sd_bus_open_user.xml
+@@ -208,7 +208,7 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+ <citerefentry><refentrytitle>sd_bus_new</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>sd_bus_ref</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>sd_bus_unref</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>ssh</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
++ <citerefentry project='die-net'><refentrytitle>ssh</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-machined.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>machinectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ </para>
+diff --git a/man/sd_event_add_signal.xml b/man/sd_event_add_signal.xml
+index 0299aa5a53..7c8df7df8d 100644
+--- a/man/sd_event_add_signal.xml
++++ b/man/sd_event_add_signal.xml
+@@ -86,7 +86,7 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+ the <parameter>source</parameter> parameter. The
+ <parameter>signal</parameter> parameter specifies the signal to be handled
+ (see
+- <citerefentry><refentrytitle>signal</refentrytitle><manvolnum>7</manvolnum></citerefentry>).
++ <citerefentry project='man-pages'><refentrytitle>signal</refentrytitle><manvolnum>7</manvolnum></citerefentry>).
+ The <parameter>handler</parameter> must reference a function to
+ call when the signal is delivered or be <constant>NULL</constant>.
+ The handler function will be passed the
+@@ -94,7 +94,7 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+ freely by the caller. The handler also receives a pointer to a
+ <structname>const struct signalfd_siginfo</structname> containing
+ the information about the received signal. See
+- <citerefentry><refentrytitle>signalfd</refentrytitle><manvolnum>2</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>signalfd</refentrytitle><manvolnum>2</manvolnum></citerefentry>
+ for further information.</para>
+
+ <para>Only a single handler may be installed for a specific
+diff --git a/man/sd_journal_get_catalog.xml b/man/sd_journal_get_catalog.xml
+index 1dcbadd186..c19eb11b20 100644
+--- a/man/sd_journal_get_catalog.xml
++++ b/man/sd_journal_get_catalog.xml
+@@ -130,7 +130,7 @@
+ <citerefentry><refentrytitle>sd_journal_open</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>sd_journal_next</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>sd_journal_get_data</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>malloc</refentrytitle><manvolnum>3</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>malloc</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+ </para>
+ </refsect1>
+
+diff --git a/man/sd_journal_get_cursor.xml b/man/sd_journal_get_cursor.xml
+index 2b7f443f29..a400d8b1b5 100644
+--- a/man/sd_journal_get_cursor.xml
++++ b/man/sd_journal_get_cursor.xml
+@@ -84,7 +84,7 @@
+ time) available entry. The call takes two arguments: a journal
+ context object and a pointer to a string pointer where the cursor
+ string will be placed. The string is allocated via libc
+- <citerefentry><refentrytitle>malloc</refentrytitle><manvolnum>3</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>malloc</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+ and should be freed after use with
+ <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para>
+
+diff --git a/man/sd_journal_print.xml b/man/sd_journal_print.xml
+index 068b10e7ca..0cd0b45b9a 100644
+--- a/man/sd_journal_print.xml
++++ b/man/sd_journal_print.xml
+@@ -119,7 +119,7 @@
+ <function>sd_journal_print()</function> but takes a variable
+ argument list encapsulated in an object of type
+ <varname>va_list</varname> (see
+- <citerefentry><refentrytitle>stdarg</refentrytitle><manvolnum>3</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>stdarg</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+ for more information) instead of the format string. It is
+ otherwise equivalent in behavior.</para>
+
+@@ -145,7 +145,7 @@
+ <function>sd_journal_send()</function> but takes an array of
+ <varname>struct iovec</varname> (as defined in
+ <filename>uio.h</filename>, see
+- <citerefentry><refentrytitle>readv</refentrytitle><manvolnum>3</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>readv</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+ for details) instead of the format string. Each structure should
+ reference one field of the entry to submit. The second argument
+ specifies the number of structures in the array.
+@@ -154,7 +154,7 @@
+ necessary.</para>
+
+ <para><function>sd_journal_perror()</function> is a similar to
+- <citerefentry><refentrytitle>perror</refentrytitle><manvolnum>3</manvolnum></citerefentry>
++ <citerefentry project='die-net'><refentrytitle>perror</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+ and writes a message to the journal that consists of the passed
+ string, suffixed with ": " and a human readable representation of
+ the current error code stored in
+@@ -219,7 +219,7 @@ sd_journal_send("MESSAGE=Hello World, this is PID %lu!", (unsigned long) getpid(
+ <title>Async signal safety</title>
+ <para><function>sd_journal_sendv()</function> is "async signal
+ safe" in the meaning of
+- <citerefentry><refentrytitle>signal</refentrytitle><manvolnum>7</manvolnum></citerefentry>.
++ <citerefentry project='man-pages'><refentrytitle>signal</refentrytitle><manvolnum>7</manvolnum></citerefentry>.
+ </para>
+
+ <para><function>sd_journal_print</function>,
+@@ -249,11 +249,11 @@ sd_journal_send("MESSAGE=Hello World, this is PID %lu!", (unsigned long) getpid(
+ <citerefentry><refentrytitle>sd-journal</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>sd_journal_stream_fd</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+ <citerefentry project='man-pages'><refentrytitle>syslog</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>perror</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
++ <citerefentry project='die-net'><refentrytitle>perror</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+ <citerefentry project='man-pages'><refentrytitle>errno</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.journal-fields</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>signal</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>signal</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
++ <citerefentry project='man-pages'><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ </para>
+ </refsect1>
+
+diff --git a/man/sysctl.d.xml b/man/sysctl.d.xml
+index 5a35cfe2c8..8a131791a5 100644
+--- a/man/sysctl.d.xml
++++ b/man/sysctl.d.xml
+@@ -57,7 +57,7 @@
+ <para>At boot,
+ <citerefentry><refentrytitle>systemd-sysctl.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ reads configuration files from the above directories to configure
+- <citerefentry><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ kernel parameters.</para>
+ </refsect1>
+
+@@ -162,9 +162,9 @@ net.bridge.bridge-nf-call-arptables = 0
+ <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-sysctl.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-delta</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>sysctl.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>modprobe</refentrytitle><manvolnum>8</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
++ <citerefentry project='man-pages'><refentrytitle>sysctl.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
++ <citerefentry project='man-pages'><refentrytitle>modprobe</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ </para>
+ </refsect1>
+
+diff --git a/man/systemctl.xml b/man/systemctl.xml
+index 338c1d3280..b5e4cdf862 100644
+--- a/man/systemctl.xml
++++ b/man/systemctl.xml
+@@ -1703,9 +1703,9 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
+ <varname>$VISUAL</varname> are present or if it is set to an empty
+ string or if their execution failed, systemctl will try to execute well
+ known editors in this order:
+- <citerefentry><refentrytitle>nano</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>vim</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>vi</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
++ <citerefentry project='die-net'><refentrytitle>nano</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
++ <citerefentry project='die-net'><refentrytitle>vim</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
++ <citerefentry project='die-net'><refentrytitle>vi</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+diff --git a/man/systemd-activate.xml b/man/systemd-activate.xml
+index e64894a28b..cb68a79be7 100644
+--- a/man/systemd-activate.xml
++++ b/man/systemd-activate.xml
+@@ -165,7 +165,7 @@
+ <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>cat</refentrytitle><manvolnum>1</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>cat</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ </para>
+ </refsect1>
+ </refentry>
+diff --git a/man/systemd-analyze.xml b/man/systemd-analyze.xml
+index 1ff81d3d5a..198315052f 100644
+--- a/man/systemd-analyze.xml
++++ b/man/systemd-analyze.xml
+@@ -145,7 +145,7 @@
+ <para><command>systemd-analyze dot</command> generates textual
+ dependency graph description in dot format for further processing
+ with the GraphViz
+- <citerefentry><refentrytitle>dot</refentrytitle><manvolnum>1</manvolnum></citerefentry>
++ <citerefentry project='die-net'><refentrytitle>dot</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ tool. Use a command line like <command>systemd-analyze dot | dot
+ -Tsvg > systemd.svg</command> to generate a graphical dependency
+ tree. Unless <option>--order</option> or
+@@ -229,7 +229,7 @@
+ <command>dot</command> command (see above), this selects which
+ relationships are shown in the dependency graph. Both options
+ require a
+- <citerefentry><refentrytitle>glob</refentrytitle><manvolnum>7</manvolnum></citerefentry>
++ <citerefentry project='die-net'><refentrytitle>glob</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ pattern as an argument, which will be matched against the
+ left-hand and the right-hand, respectively, nodes of a
+ relationship.</para>
+diff --git a/man/systemd-cat.xml b/man/systemd-cat.xml
+index 38ddf66d27..9b1a8809dc 100644
+--- a/man/systemd-cat.xml
++++ b/man/systemd-cat.xml
+@@ -171,7 +171,7 @@
+ <para>
+ <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>logger</refentrytitle><manvolnum>1</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>logger</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ </para>
+ </refsect1>
+
+diff --git a/man/systemd-cryptsetup-generator.xml b/man/systemd-cryptsetup-generator.xml
+index 1974cd7a2d..b6270358ea 100644
+--- a/man/systemd-cryptsetup-generator.xml
++++ b/man/systemd-cryptsetup-generator.xml
+@@ -185,7 +185,7 @@
+ <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>crypttab</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-cryptsetup at .service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
++ <citerefentry project='die-net'><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ </para>
+ </refsect1>
+diff --git a/man/systemd-cryptsetup at .service.xml b/man/systemd-cryptsetup at .service.xml
+index bd03637deb..ea524851eb 100644
+--- a/man/systemd-cryptsetup at .service.xml
++++ b/man/systemd-cryptsetup at .service.xml
+@@ -78,7 +78,7 @@
+ <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-cryptsetup-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>crypttab</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
++ <citerefentry project='die-net'><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ </para>
+ </refsect1>
+
+diff --git a/man/systemd-efi-boot-generator.xml b/man/systemd-efi-boot-generator.xml
+index fd7ba79837..3431c3ce5b 100644
+--- a/man/systemd-efi-boot-generator.xml
++++ b/man/systemd-efi-boot-generator.xml
+@@ -62,7 +62,7 @@
+ does not communicate the used ESP to the OS, on systems where
+ <filename>/boot</filename> is an explicitly configured mount (for
+ example, listed in
+- <citerefentry><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>)
++ <citerefentry project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>)
+ or where the <filename>/boot</filename> mount point is non-empty.
+ Since this generator creates an automount unit, the mount will
+ only be activated on-demand, when accessed.</para>
+@@ -79,7 +79,7 @@
+ <citerefentry><refentrytitle>systemd.automount</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-gpt-auto-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>gummiboot</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ </para>
+ </refsect1>
+
+diff --git a/man/systemd-firstboot.xml b/man/systemd-firstboot.xml
+index 67d38ba31f..67289daa26 100644
+--- a/man/systemd-firstboot.xml
++++ b/man/systemd-firstboot.xml
+@@ -91,7 +91,7 @@
+
+ <para>Note that this tool operates directly on the file system and
+ does not involve any running system services, unlike
+- <citerefentry><refentrytitle>localectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
++ <citerefentry project='man-pages'><refentrytitle>localectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>timedatectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ or
+ <citerefentry><refentrytitle>hostnamectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
+@@ -125,7 +125,7 @@
+ <varname>LANG=</varname> and <varname>LC_MESSAGES</varname>
+ settings. The argument should be a valid locale identifier,
+ such as <literal>de_DE.UTF-8</literal>. This controls the
+- <citerefentry><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ configuration file.</para></listitem>
+ </varlistentry>
+
+@@ -163,7 +163,7 @@
+
+ <listitem><para>Sets the password of the system's root user.
+ This creates a
+- <citerefentry><refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum></citerefentry>
++ <citerefentry project='die-net'><refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ file. This setting exists in two forms:
+ <option>--root-password=</option> accepts the password to set
+ directly on the command line,
+@@ -171,7 +171,7 @@
+ Note that it is not recommended specifying passwords on the
+ command line as other users might be able to see them simply
+ by invoking
+- <citerefentry><refentrytitle>ps</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para></listitem>
++ <citerefentry project='die-net'><refentrytitle>ps</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+@@ -244,13 +244,13 @@
+ <title>See Also</title>
+ <para>
+ <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
++ <citerefentry project='man-pages'><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>localtime</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>hostname</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
++ <citerefentry project='die-net'><refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-machine-id-setup</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>localectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
++ <citerefentry project='man-pages'><refentrytitle>localectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>timedatectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>hostnamectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ </para>
+diff --git a/man/systemd-fstab-generator.xml b/man/systemd-fstab-generator.xml
+index 022efb4130..bdc2dc1d0e 100644
+--- a/man/systemd-fstab-generator.xml
++++ b/man/systemd-fstab-generator.xml
+@@ -54,7 +54,7 @@
+
+ <para><filename>systemd-fstab-generator</filename> is a generator
+ that translates <filename>/etc/fstab</filename> (see
+- <citerefentry><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ for details) into native systemd units early at boot and when
+ configuration of the system manager is reloaded. This will
+ instantiate mount and swap units as necessary.</para>
+@@ -173,7 +173,7 @@
+ <title>See Also</title>
+ <para>
+ <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
++ <citerefentry project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.mount</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.swap</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-cryptsetup-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+diff --git a/man/systemd-gpt-auto-generator.xml b/man/systemd-gpt-auto-generator.xml
+index 8d2eaca4f6..bcc64ec9b5 100644
+--- a/man/systemd-gpt-auto-generator.xml
++++ b/man/systemd-gpt-auto-generator.xml
+@@ -66,7 +66,7 @@
+ Partitions Specification</ulink>. Note that this generator has no
+ effect on non-GPT systems, on systems where the units are
+ explicitly configured (for example, listed in
+- <citerefentry><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>),
++ <citerefentry project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>),
+ or where the mount points are non-empty.</para>
+
+ <para>This generator will only look for root partitions on the
+@@ -169,9 +169,9 @@
+ <citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-efi-boot-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-cryptsetup at .service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>btrfs</refentrytitle><manvolnum>8</manvolnum></citerefentry>
++ <citerefentry project='die-net'><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
++ <citerefentry project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
++ <citerefentry project='man-pages'><refentrytitle>btrfs</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ </para>
+ </refsect1>
+
+diff --git a/man/systemd-hibernate-resume-generator.xml b/man/systemd-hibernate-resume-generator.xml
+index a21782cbf9..d811b9b551 100644
+--- a/man/systemd-hibernate-resume-generator.xml
++++ b/man/systemd-hibernate-resume-generator.xml
+@@ -73,7 +73,7 @@
+ <listitem><para>Takes a path to the resume device. Both
+ persistent block device paths like
+ <filename>/dev/disk/by-foo/bar</filename> and
+- <citerefentry><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>-style
++ <citerefentry project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>-style
+ specifiers like <literal>FOO=bar</literal> are
+ supported.</para></listitem>
+ </varlistentry>
+diff --git a/man/systemd-journald.service.xml b/man/systemd-journald.service.xml
+index 6b250b65e6..8280d6c874 100644
+--- a/man/systemd-journald.service.xml
++++ b/man/systemd-journald.service.xml
+@@ -241,7 +241,7 @@
+ <citerefentry><refentrytitle>systemd.journal-fields</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>sd-journal</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-coredump</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>setfacl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
++ <citerefentry project='die-net'><refentrytitle>setfacl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>sd_journal_print</refentrytitle><manvolnum>4</manvolnum></citerefentry>,
+ <command>pydoc systemd.journal</command>.
+ </para>
+diff --git a/man/systemd-localed.service.xml b/man/systemd-localed.service.xml
+index 8999166383..06aa78c0e4 100644
+--- a/man/systemd-localed.service.xml
++++ b/man/systemd-localed.service.xml
+@@ -64,7 +64,7 @@
+ unused.</para>
+
+ <para>The tool
+- <citerefentry><refentrytitle>localectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>localectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ is a command line client to this service.</para>
+
+ <para>See the <ulink
+@@ -77,10 +77,10 @@
+ <title>See Also</title>
+ <para>
+ <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
++ <citerefentry project='man-pages'><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>vconsole.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>localectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>loadkeys</refentrytitle><manvolnum>1</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>localectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
++ <citerefentry project='mankier'><refentrytitle>loadkeys</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ </para>
+ </refsect1>
+
+diff --git a/man/systemd-nspawn.xml b/man/systemd-nspawn.xml
+index 4a936d326f..65b4c2f294 100644
+--- a/man/systemd-nspawn.xml
++++ b/man/systemd-nspawn.xml
+@@ -598,7 +598,7 @@
+
+ <listitem><para>Control the architecture ("personality")
+ reported by
+- <citerefentry><refentrytitle>uname</refentrytitle><manvolnum>2</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>uname</refentrytitle><manvolnum>2</manvolnum></citerefentry>
+ in the container. Currently, only <literal>x86</literal> and
+ <literal>x86-64</literal> are supported. This is useful when
+ running a 32-bit container on a 64-bit host. If this setting
+@@ -735,7 +735,7 @@
+ <citerefentry project='archlinux'><refentrytitle>pacman</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.slice</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>machinectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>btrfs</refentrytitle><manvolnum>8</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>btrfs</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ </para>
+ </refsect1>
+
+diff --git a/man/systemd-quotacheck.service.xml b/man/systemd-quotacheck.service.xml
+index 2179f11e95..9d4976274e 100644
+--- a/man/systemd-quotacheck.service.xml
++++ b/man/systemd-quotacheck.service.xml
+@@ -86,7 +86,7 @@
+ <title>See Also</title>
+ <para>
+ <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>quotacheck</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
++ <citerefentry project='die-net'><refentrytitle>quotacheck</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-fsck at .service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ </para>
+ </refsect1>
+diff --git a/man/systemd-remount-fs.service.xml b/man/systemd-remount-fs.service.xml
+index 7b88ac3f3c..8e60e31b5c 100644
+--- a/man/systemd-remount-fs.service.xml
++++ b/man/systemd-remount-fs.service.xml
+@@ -56,7 +56,7 @@
+
+ <para><filename>systemd-remount-fs.service</filename> is an
+ early-boot service that applies mount options listed in
+- <citerefentry><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ to the root file system, the <filename>/usr</filename> file system
+ and the kernel API file systems. This is required so that the
+ mount options of these file systems -- which are pre-mounted by
+@@ -80,8 +80,8 @@
+ <title>See Also</title>
+ <para>
+ <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
++ <citerefentry project='man-pages'><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ </para>
+ </refsect1>
+
+diff --git a/man/systemd-socket-proxyd.xml b/man/systemd-socket-proxyd.xml
+index 1c78b656e1..0b852e6bc1 100644
+--- a/man/systemd-socket-proxyd.xml
++++ b/man/systemd-socket-proxyd.xml
+@@ -72,7 +72,7 @@
+ to a configured server for each client, and then bidirectionally
+ forwards data between the two.</para>
+ <para>This utility's behavior is similar to
+- <citerefentry><refentrytitle>socat</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
++ <citerefentry project='die-net'><refentrytitle>socat</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
+ The main differences for <command>systemd-socket-proxyd</command>
+ are support for socket activation with
+ <literal>Accept=false</literal> and an event-driven
+@@ -183,9 +183,9 @@ $ curl http://localhost:80/]]></programlisting>
+ <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>socat</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>nginx</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>curl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
++ <citerefentry project='die-net'><refentrytitle>socat</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
++ <citerefentry project='die-net'><refentrytitle>nginx</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
++ <citerefentry project='die-net'><refentrytitle>curl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ </para>
+ </refsect1>
+ </refentry>
+diff --git a/man/systemd-sysctl.service.xml b/man/systemd-sysctl.service.xml
+index f35a18a4d4..d4c1a7ebe3 100644
+--- a/man/systemd-sysctl.service.xml
++++ b/man/systemd-sysctl.service.xml
+@@ -56,11 +56,11 @@
+
+ <para><filename>systemd-sysctl.service</filename> is an early-boot
+ service that configures
+- <citerefentry><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ kernel parameters.</para>
+
+ <para>See
+- <citerefentry><refentrytitle>sysctl.d</refentrytitle><manvolnum>5</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>sysctl.d</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ for information about the configuration of this service.</para>
+ </refsect1>
+
+@@ -68,8 +68,8 @@
+ <title>See Also</title>
+ <para>
+ <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>sysctl.d</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
++ <citerefentry project='man-pages'><refentrytitle>sysctl.d</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
++ <citerefentry project='man-pages'><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ </para>
+ </refsect1>
+
+diff --git a/man/systemd-system.conf.xml b/man/systemd-system.conf.xml
+index c7bcfaee4d..1b74ed38f7 100644
+--- a/man/systemd-system.conf.xml
++++ b/man/systemd-system.conf.xml
+@@ -172,7 +172,7 @@
+ <citerefentry project='man-pages'><refentrytitle>capabilities</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ for details. Takes a whitespace-separated list of capability
+ names as read by
+- <citerefentry><refentrytitle>cap_from_name</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
++ <citerefentry project='mankier'><refentrytitle>cap_from_name</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
+ Capabilities listed will be included in the bounding set, all
+ others are removed. If the list of capabilities is prefixed
+ with ~, all but the listed capabilities will be included, the
+diff --git a/man/systemd-update-utmp.service.xml b/man/systemd-update-utmp.service.xml
+index b842d29721..c8a9cb7c90 100644
+--- a/man/systemd-update-utmp.service.xml
++++ b/man/systemd-update-utmp.service.xml
+@@ -69,7 +69,7 @@
+ <para>
+ <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry project='man-pages'><refentrytitle>utmp</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>auditd</refentrytitle><manvolnum>8</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>auditd</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ </para>
+ </refsect1>
+
+diff --git a/man/systemd-vconsole-setup.service.xml b/man/systemd-vconsole-setup.service.xml
+index 59bb5e4e8c..7c6ed08997 100644
+--- a/man/systemd-vconsole-setup.service.xml
++++ b/man/systemd-vconsole-setup.service.xml
+@@ -57,9 +57,9 @@
+ <para><filename>systemd-vconsole-setup.service</filename> is an
+ early-boot service that configures the virtual console font and
+ console keymap. Internally it calls
+- <citerefentry><refentrytitle>loadkeys</refentrytitle><manvolnum>1</manvolnum></citerefentry>
++ <citerefentry project='mankier'><refentrytitle>loadkeys</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ and
+- <citerefentry><refentrytitle>setfont</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
++ <citerefentry project='die-net'><refentrytitle>setfont</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
+
+ <para>See
+ <citerefentry><refentrytitle>vconsole.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+@@ -105,8 +105,8 @@
+ <para>
+ <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>vconsole.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>loadkeys</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>setfont</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
++ <citerefentry project='mankier'><refentrytitle>loadkeys</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
++ <citerefentry project='die-net'><refentrytitle>setfont</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-localed.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ </para>
+ </refsect1>
+diff --git a/man/systemd.automount.xml b/man/systemd.automount.xml
+index 3db65d988d..b5b5885cdf 100644
+--- a/man/systemd.automount.xml
++++ b/man/systemd.automount.xml
+@@ -96,7 +96,7 @@
+
+ <para>Automount units may either be configured via unit files, or
+ via <filename>/etc/fstab</filename> (see
+- <citerefentry><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ for details).</para>
+
+ <para>For details how systemd parses
+@@ -145,8 +145,8 @@
+ <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.mount</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>automount</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
++ <citerefentry project='man-pages'><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
++ <citerefentry project='die-net'><refentrytitle>automount</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ </para>
+ </refsect1>
+diff --git a/man/systemd.exec.xml b/man/systemd.exec.xml
+index fdb1578641..56b53e6015 100644
+--- a/man/systemd.exec.xml
++++ b/man/systemd.exec.xml
+@@ -663,7 +663,7 @@
+ <citerefentry project='man-pages'><refentrytitle>capabilities</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ for details. Takes a whitespace-separated list of capability
+ names as read by
+- <citerefentry><refentrytitle>cap_from_name</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
++ <citerefentry project='mankier'><refentrytitle>cap_from_name</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+ e.g. <constant>CAP_SYS_ADMIN</constant>,
+ <constant>CAP_DAC_OVERRIDE</constant>,
+ <constant>CAP_SYS_PTRACE</constant>. Capabilities listed will
+@@ -711,7 +711,7 @@
+ set for the executed process. Take a capability string
+ describing the effective, permitted and inherited capability
+ sets as documented in
+- <citerefentry><refentrytitle>cap_from_text</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
++ <citerefentry project='mankier'><refentrytitle>cap_from_text</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
+ Note that these capability sets are usually influenced (and
+ filtered) by the capabilities attached to the executed file.
+ Due to that <varname>CapabilityBoundingSet=</varname> is
+@@ -881,7 +881,7 @@
+ <option>private</option>, which control whether mounts in the
+ file system namespace set up for this unit's processes will
+ receive or propagate mounts or unmounts. See
+- <citerefentry><refentrytitle>mount</refentrytitle><manvolnum>2</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>mount</refentrytitle><manvolnum>2</manvolnum></citerefentry>
+ for details. Defaults to <option>shared</option>. Use
+ <option>shared</option> to ensure that mounts and unmounts are
+ propagated from the host to the container and vice versa. Use
+@@ -929,7 +929,7 @@
+ authorize the transition. This directive is ignored if SELinux
+ is disabled. If prefixed by <literal>-</literal>, all errors
+ will be ignored. See
+- <citerefentry><refentrytitle>setexeccon</refentrytitle><manvolnum>3</manvolnum></citerefentry>
++ <citerefentry project='die-net'><refentrytitle>setexeccon</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+ for details.</para></listitem>
+ </varlistentry>
+
+@@ -1076,7 +1076,7 @@
+ prefixed with <constant>~</constant> the listed address
+ families will be applied as blacklist, otherwise as whitelist.
+ Note that this restricts access to the
+- <citerefentry><refentrytitle>socket</refentrytitle><manvolnum>2</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>socket</refentrytitle><manvolnum>2</manvolnum></citerefentry>
+ system call only. Sockets passed into the process by other
+ means (for example, by using socket activation with socket
+ units, see
+@@ -1104,7 +1104,7 @@
+ <term><varname>Personality=</varname></term>
+
+ <listitem><para>Controls which kernel architecture
+- <citerefentry><refentrytitle>uname</refentrytitle><manvolnum>2</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>uname</refentrytitle><manvolnum>2</manvolnum></citerefentry>
+ shall report, when invoked by unit processes. Takes one of
+ <constant>x86</constant> and <constant>x86-64</constant>. This
+ is useful when running 32-bit services on a 64-bit host
+@@ -1166,7 +1166,7 @@
+ <term><varname>$LANG</varname></term>
+
+ <listitem><para>Locale. Can be set in
+- <citerefentry><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ or on the kernel command line (see
+ <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ and
+@@ -1184,7 +1184,7 @@
+ login shell. The variables are set for the units that have
+ <varname>User=</varname> set, which includes user
+ <command>systemd</command> instances. See
+- <citerefentry><refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
++ <citerefentry project='die-net'><refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
+ </para></listitem>
+ </varlistentry>
+
+diff --git a/man/systemd.generator.xml b/man/systemd.generator.xml
+index ccb698752a..9b39e732e3 100644
+--- a/man/systemd.generator.xml
++++ b/man/systemd.generator.xml
+@@ -333,7 +333,7 @@ find $dir</programlisting>
+ <citerefentry><refentrytitle>systemd-debug-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-efi-boot-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
++ <citerefentry project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-getty-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-gpt-auto-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-hibernate-resume-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+diff --git a/man/systemd.journal-fields.xml b/man/systemd.journal-fields.xml
+index 1fd46de31f..7d6c5c715f 100644
+--- a/man/systemd.journal-fields.xml
++++ b/man/systemd.journal-fields.xml
+@@ -134,7 +134,7 @@
+ derived from glibc's
+ <varname>program_invocation_short_name</varname> variable,
+ see
+- <citerefentry><refentrytitle>program_invocation_short_name</refentrytitle><manvolnum>3</manvolnum></citerefentry>.)</para>
++ <citerefentry project='die-net'><refentrytitle>program_invocation_short_name</refentrytitle><manvolnum>3</manvolnum></citerefentry>.)</para>
+ </listitem>
+
+ </varlistentry>
+diff --git a/man/systemd.kill.xml b/man/systemd.kill.xml
+index c974e22489..e57f0e7242 100644
+--- a/man/systemd.kill.xml
++++ b/man/systemd.kill.xml
+@@ -135,7 +135,7 @@
+ of shutting down a unit (see above), and is usually followed
+ by <constant>SIGKILL</constant> (see above and below). For a
+ list of valid signals, see
+- <citerefentry><refentrytitle>signal</refentrytitle><manvolnum>7</manvolnum></citerefentry>.
++ <citerefentry project='man-pages'><refentrytitle>signal</refentrytitle><manvolnum>7</manvolnum></citerefentry>.
+ Defaults to <constant>SIGTERM</constant>. </para></listitem>
+ </varlistentry>
+
+@@ -176,7 +176,7 @@
+ <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>kill</refentrytitle><manvolnum>2</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>signal</refentrytitle><manvolnum>7</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>signal</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ </para>
+ </refsect1>
+
+diff --git a/man/systemd.mount.xml b/man/systemd.mount.xml
+index 5cbde8b84c..fcb9a44161 100644
+--- a/man/systemd.mount.xml
++++ b/man/systemd.mount.xml
+@@ -68,7 +68,7 @@
+ <para>Additional options are listed in
+ <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ which define the execution environment the
+- <citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ binary is executed in, and in
+ <citerefentry><refentrytitle>systemd.kill</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ which define the way the processes are terminated, and in
+@@ -78,7 +78,7 @@
+ particularly useful for mount units specifying a
+ <literal>Type=</literal> option or using configuration not
+ specified in <filename>/etc/fstab</filename>;
+- <citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ will refuse options that are not listed in
+ <filename>/etc/fstab</filename> if it is not run as UID 0.</para>
+
+@@ -118,7 +118,7 @@
+
+ <para>Mount units may either be configured via unit files, or via
+ <filename>/etc/fstab</filename> (see
+- <citerefentry><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ for details). Mounts listed in <filename>/etc/fstab</filename>
+ will be converted into native units dynamically at boot and when
+ the configuration of the system manager is reloaded. In general,
+@@ -231,7 +231,7 @@
+ <term><varname>What=</varname></term>
+ <listitem><para>Takes an absolute path of a device node, file
+ or other resource to mount. See
+- <citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ for details. If this refers to a device node, a dependency on
+ the respective device unit is automatically created. (See
+ <citerefentry><refentrytitle>systemd.device</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+@@ -251,7 +251,7 @@
+ <varlistentry>
+ <term><varname>Type=</varname></term>
+ <listitem><para>Takes a string for the file system type. See
+- <citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ for details. This setting is optional.</para></listitem>
+ </varlistentry>
+
+@@ -270,7 +270,7 @@
+ the options specified in <varname>Options=</varname> is
+ relaxed, and unknown mount options are tolerated. This
+ corresponds with
+- <citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>'s
++ <citerefentry project='man-pages'><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>'s
+ <parameter>-s</parameter> switch. Defaults to
+ off.</para></listitem>
+ </varlistentry>
+@@ -321,7 +321,7 @@
+ <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.device</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry project='man-pages'><refentrytitle>proc</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
++ <citerefentry project='man-pages'><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ </para>
+diff --git a/man/systemd.network.xml b/man/systemd.network.xml
+index 24f8416ef9..97386271d6 100644
+--- a/man/systemd.network.xml
++++ b/man/systemd.network.xml
+@@ -286,7 +286,7 @@
+ separated by a <literal>/</literal> character. Specify
+ this key more than once to configure several addresses.
+ The format of the address must be as described in
+- <citerefentry><refentrytitle>inet_pton</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
++ <citerefentry project='man-pages'><refentrytitle>inet_pton</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
+ This is a short-hand for an [Address] section only
+ containing an Address key (see below). This option may be
+ specified more than once.
+@@ -312,7 +312,7 @@
+ <listitem>
+ <para>The gateway address, which must be in the format
+ described in
+- <citerefentry><refentrytitle>inet_pton</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
++ <citerefentry project='man-pages'><refentrytitle>inet_pton</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
+ This is a short-hand for a [Route] section only containing
+ a Gateway key. This option may be specified more than
+ once.</para>
+@@ -323,7 +323,7 @@
+ <listitem>
+ <para>A DNS server address, which must be in the format
+ described in
+- <citerefentry><refentrytitle>inet_pton</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
++ <citerefentry project='man-pages'><refentrytitle>inet_pton</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
+ This option may be specified more than once.</para>
+ </listitem>
+ </varlistentry>
+@@ -429,7 +429,7 @@
+ <listitem>
+ <para>The broadcast address, which must be in the format
+ described in
+- <citerefentry><refentrytitle>inet_pton</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
++ <citerefentry project='man-pages'><refentrytitle>inet_pton</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
+ This key only applies to IPv4 addresses. If it is not
+ given, it is derived from the <literal>Address</literal>
+ key.</para>
+diff --git a/man/systemd.path.xml b/man/systemd.path.xml
+index 08a7ec8975..d02bc92ae6 100644
+--- a/man/systemd.path.xml
++++ b/man/systemd.path.xml
+@@ -74,7 +74,7 @@
+ (see below).</para>
+
+ <para>Internally, path units use the
+- <citerefentry><refentrytitle>inotify</refentrytitle><manvolnum>7</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>inotify</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ API to monitor file systems. Due to that, it suffers by the same
+ limitations as inotify, and for example cannot be used to monitor
+ files or directories changed by other machines on remote NFS file
+@@ -187,7 +187,7 @@
+ <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>inotify</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
++ <citerefentry project='man-pages'><refentrytitle>inotify</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ </para>
+ </refsect1>
+diff --git a/man/systemd.socket.xml b/man/systemd.socket.xml
+index 3938345fac..2f541937f8 100644
+--- a/man/systemd.socket.xml
++++ b/man/systemd.socket.xml
+@@ -265,7 +265,7 @@
+ <listitem><para>Takes a one of <option>default</option>,
+ <option>both</option> or <option>ipv6-only</option>. Controls
+ the IPV6_V6ONLY socket option (see
+- <citerefentry><refentrytitle>ipv6</refentrytitle><manvolnum>7</manvolnum></citerefentry>
++ <citerefentry project='die-net'><refentrytitle>ipv6</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ for details). If <option>both</option>, IPv6 sockets bound
+ will be accessible via both IPv4 and IPv6. If
+ <option>ipv6-only</option>, they will be accessible via IPv6
+@@ -294,7 +294,7 @@
+ this socket to. If set, traffic will only be accepted from the
+ specified network interfaces. This controls the
+ SO_BINDTODEVICE socket option (see
+- <citerefentry><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ for details). If this option is used, an automatic dependency
+ from this socket unit on the network interface device unit
+ (<citerefentry><refentrytitle>systemd.device</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+@@ -380,7 +380,7 @@
+ <filename>/proc/sys/net/ipv4/tcp_keepalive_time</filename>)
+ for all TCP streams accepted on this socket. This controls the
+ SO_KEEPALIVE socket option (see
+- <citerefentry><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ and the <ulink
+ url="http://www.tldp.org/HOWTO/html_single/TCP-Keepalive-HOWTO/">TCP
+ Keepalive HOWTO</ulink> for details.) Defaults to
+@@ -392,7 +392,7 @@
+ <listitem><para>Takes time (in seconds) as argument . The connection needs to remain
+ idle before TCP starts sending keepalive probes. This controls the TCP_KEEPIDLE
+ socket option (see
+- <citerefentry><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ and the <ulink
+ url="http://www.tldp.org/HOWTO/html_single/TCP-Keepalive-HOWTO/">TCP
+ Keepalive HOWTO</ulink> for details.)
+@@ -405,7 +405,7 @@
+ individual keepalive probes, if the socket option SO_KEEPALIVE
+ has been set on this socket seconds as argument. This controls
+ the TCP_KEEPINTVL socket option (see
+- <citerefentry><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ and the <ulink
+ url="http://www.tldp.org/HOWTO/html_single/TCP-Keepalive-HOWTO/">TCP
+ Keepalive HOWTO</ulink> for details.) Defaults value is 75
+@@ -418,7 +418,7 @@
+ unacknowledged probes to send before considering the
+ connection dead and notifying the application layer. This
+ controls the TCP_KEEPCNT socket option (see
+- <citerefentry><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ and the <ulink
+ url="http://www.tldp.org/HOWTO/html_single/TCP-Keepalive-HOWTO/">TCP
+ Keepalive HOWTO</ulink> for details.) Defaults value is
+@@ -431,7 +431,7 @@
+ algorithm works by combining a number of small outgoing
+ messages, and sending them all at once. This controls the
+ TCP_NODELAY socket option (see
+- <citerefentry><refentrytitle>tcp</refentrytitle><manvolnum>7</manvolnum></citerefentry>
++ <citerefentry project='die-net'><refentrytitle>tcp</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ Defaults to <option>false</option>.</para></listitem>
+ </varlistentry>
+
+@@ -440,7 +440,7 @@
+ <listitem><para>Takes an integer argument controlling the
+ priority for all traffic sent from this socket. This controls
+ the SO_PRIORITY socket option (see
+- <citerefentry><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ for details.).</para></listitem>
+ </varlistentry>
+
+@@ -453,7 +453,7 @@
+ established. When this option is set, the
+ <constant>TCP_DEFER_ACCEPT</constant> socket option will be
+ used (see
+- <citerefentry><refentrytitle>tcp</refentrytitle><manvolnum>7</manvolnum></citerefentry>),
++ <citerefentry project='die-net'><refentrytitle>tcp</refentrytitle><manvolnum>7</manvolnum></citerefentry>),
+ and the kernel will ignore initial ACK packets without any
+ data. The argument specifies the approximate amount of time
+ the kernel should wait for incoming data before falling back
+@@ -480,7 +480,7 @@
+ <listitem><para>Takes an integer argument controlling the
+ receive or send buffer sizes of this socket, respectively.
+ This controls the SO_RCVBUF and SO_SNDBUF socket options (see
+- <citerefentry><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ for details.). The usual suffixes K, M, G are supported and
+ are understood to the base of 1024.</para></listitem>
+ </varlistentry>
+@@ -490,7 +490,7 @@
+ <listitem><para>Takes an integer argument controlling the IP
+ Type-Of-Service field for packets generated from this socket.
+ This controls the IP_TOS socket option (see
+- <citerefentry><refentrytitle>ip</refentrytitle><manvolnum>7</manvolnum></citerefentry>
++ <citerefentry project='die-net'><refentrytitle>ip</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ for details.). Either a numeric string or one of
+ <option>low-delay</option>, <option>throughput</option>,
+ <option>reliability</option> or <option>low-cost</option> may
+@@ -503,9 +503,9 @@
+ Time-To-Live/IPv6 Hop-Count field for packets generated from
+ this socket. This sets the IP_TTL/IPV6_UNICAST_HOPS socket
+ options (see
+- <citerefentry><refentrytitle>ip</refentrytitle><manvolnum>7</manvolnum></citerefentry>
++ <citerefentry project='die-net'><refentrytitle>ip</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ and
+- <citerefentry><refentrytitle>ipv6</refentrytitle><manvolnum>7</manvolnum></citerefentry>
++ <citerefentry project='die-net'><refentrytitle>ipv6</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ for details.)</para></listitem>
+ </varlistentry>
+
+@@ -515,7 +515,7 @@
+ mark of packets generated by this socket. This can be used in
+ the firewall logic to filter packets from this socket. This
+ sets the SO_MARK socket option. See
+- <citerefentry><refentrytitle>iptables</refentrytitle><manvolnum>8</manvolnum></citerefentry>
++ <citerefentry project='die-net'><refentrytitle>iptables</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ for details.</para></listitem>
+ </varlistentry>
+
+@@ -526,7 +526,7 @@
+ <citerefentry><refentrytitle>bind</refentrytitle><manvolnum>2</manvolnum></citerefentry>s
+ to this TCP or UDP port. This controls the SO_REUSEPORT socket
+ option. See
+- <citerefentry><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ for details.</para></listitem>
+ </varlistentry>
+
+@@ -578,7 +578,7 @@
+ control the mq_maxmsg field or the mq_msgsize field,
+ respectively, when creating the message queue. Note that
+ either none or both of these variables need to be set. See
+- <citerefentry><refentrytitle>mq_setattr</refentrytitle><manvolnum>3</manvolnum></citerefentry>
++ <citerefentry project='die-net'><refentrytitle>mq_setattr</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+ for details.</para></listitem>
+ </varlistentry>
+
+diff --git a/man/systemd.swap.xml b/man/systemd.swap.xml
+index 23b9c712ed..5016f453d5 100644
+--- a/man/systemd.swap.xml
++++ b/man/systemd.swap.xml
+@@ -69,7 +69,7 @@
+ <para>Additional options are listed in
+ <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ which define the execution environment the
+- <citerefentry><refentrytitle>swapon</refentrytitle><manvolnum>8</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>swapon</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ binary is executed in, and in
+ <citerefentry><refentrytitle>systemd.kill</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ which define the way the processes are terminated, and in
+@@ -100,7 +100,7 @@
+
+ <para>Swap units may either be configured via unit files, or via
+ <filename>/etc/fstab</filename> (see
+- <citerefentry><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ for details). Swaps listed in <filename>/etc/fstab</filename> will
+ be converted into native units dynamically at boot and when the
+ configuration of the system manager is reloaded. See
+@@ -161,7 +161,7 @@
+ <term><varname>What=</varname></term>
+ <listitem><para>Takes an absolute path of a device node or
+ file to use for paging. See
+- <citerefentry><refentrytitle>swapon</refentrytitle><manvolnum>8</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>swapon</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ for details. If this refers to a device node, a dependency on
+ the respective device unit is automatically created. (See
+ <citerefentry><refentrytitle>systemd.device</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+@@ -187,7 +187,7 @@
+ device. This may be used for controlling discard options among
+ other functionality, if the swap backing device supports the
+ discard or trim operation. (See
+- <citerefentry><refentrytitle>swapon</refentrytitle><manvolnum>8</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>swapon</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ for more information.) </para></listitem>
+ </varlistentry>
+
+@@ -229,7 +229,7 @@
+ <citerefentry><refentrytitle>systemd.resource-control</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.device</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.mount</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>swapon</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
++ <citerefentry project='man-pages'><refentrytitle>swapon</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ </para>
+diff --git a/man/systemd.unit.xml b/man/systemd.unit.xml
+index a452f87baf..c2e374a94e 100644
+--- a/man/systemd.unit.xml
++++ b/man/systemd.unit.xml
+@@ -826,7 +826,7 @@
+ <varname>cris</varname> to test
+ against a specific architecture. The architecture is
+ determined from the information returned by
+- <citerefentry><refentrytitle>uname</refentrytitle><manvolnum>2</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>uname</refentrytitle><manvolnum>2</manvolnum></citerefentry>
+ and is thus subject to
+ <citerefentry><refentrytitle>personality</refentrytitle><manvolnum>2</manvolnum></citerefentry>.
+ Note that a <varname>Personality=</varname> setting in the
+@@ -1438,7 +1438,7 @@ PrivateTmp=yes</programlisting>
+ <citerefentry><refentrytitle>systemd-analyze</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry project='man-pages'><refentrytitle>capabilities</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>uname</refentrytitle><manvolnum>1</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>uname</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ </para>
+ </refsect1>
+
+diff --git a/man/systemd.xml b/man/systemd.xml
+index 9b92140e6b..d006b0bb99 100644
+--- a/man/systemd.xml
++++ b/man/systemd.xml
+@@ -1012,9 +1012,9 @@
+ <listitem><para>Set the system locale to use. This overrides
+ the settings in <filename>/etc/locale.conf</filename>. For
+ more information see
+- <citerefentry><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
++ <citerefentry project='man-pages'><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ and
+- <citerefentry><refentrytitle>locale</refentrytitle><manvolnum>7</manvolnum></citerefentry>.
++ <citerefentry project='man-pages'><refentrytitle>locale</refentrytitle><manvolnum>7</manvolnum></citerefentry>.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+@@ -1077,7 +1077,7 @@
+ <para>
+ The <ulink url="http://www.freedesktop.org/wiki/Software/systemd/">systemd Homepage</ulink>,
+ <citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
++ <citerefentry project='man-pages'><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-notify</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+diff --git a/man/vconsole.conf.xml b/man/vconsole.conf.xml
+index 17bea8b682..27196d44e9 100644
+--- a/man/vconsole.conf.xml
++++ b/man/vconsole.conf.xml
+@@ -129,9 +129,9 @@ FONT=eurlatgr</programlisting>
+ <para>
+ <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-vconsole-setup.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>loadkeys</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>setfont</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
++ <citerefentry project='mankier'><refentrytitle>loadkeys</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
++ <citerefentry project='die-net'><refentrytitle>setfont</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
++ <citerefentry project='man-pages'><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-localed.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ </para>
+ </refsect1>
diff --git a/0088-man-link-to-fd.o-for-dbus-stuff.patch b/0088-man-link-to-fd.o-for-dbus-stuff.patch
new file mode 100644
index 0000000..38d76c8
--- /dev/null
+++ b/0088-man-link-to-fd.o-for-dbus-stuff.patch
@@ -0,0 +1,90 @@
+From 0cdbfc2734a4e1b3b926be66c31a37e50c9d1733 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek at in.waw.pl>
+Date: Fri, 13 Mar 2015 21:24:30 -0500
+Subject: [PATCH] man: link to fd.o for dbus stuff
+
+(cherry picked from commit 3b5cfcdb580f5b766ff7fb1a2839bd37d74a98de)
+---
+ man/busctl.xml | 2 +-
+ man/custom-html.xsl | 13 +++++++++++++
+ man/systemd-bus-proxyd.xml | 2 +-
+ man/systemd-bus-proxyd at .service.xml | 2 +-
+ man/systemd-machine-id-setup.xml | 2 +-
+ 5 files changed, 17 insertions(+), 4 deletions(-)
+
+diff --git a/man/busctl.xml b/man/busctl.xml
+index cc1844b0a0..807fc78e8f 100644
+--- a/man/busctl.xml
++++ b/man/busctl.xml
+@@ -465,7 +465,7 @@ o "/org/freedesktop/systemd1/job/42684"</programlisting>
+ <title>See Also</title>
+
+ <para>
+- <citerefentry><refentrytitle>dbus-daemon</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
++ <citerefentry project='dbus'><refentrytitle>dbus-daemon</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <ulink url="http://freedesktop.org/wiki/Software/dbus">D-Bus</ulink>,
+ <ulink url="https://code.google.com/p/d-bus/">kdbus</ulink>,
+ <citerefentry><refentrytitle>sd-bus</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+diff --git a/man/custom-html.xsl b/man/custom-html.xsl
+index 32299db710..706b95a1c4 100644
+--- a/man/custom-html.xsl
++++ b/man/custom-html.xsl
+@@ -91,6 +91,19 @@
+ <xsl:call-template name="inline.charseq"/>
+ </xsl:template>
+
++<xsl:template match="citerefentry[@project='dbus']">
++ <a>
++ <xsl:attribute name="href">
++ <xsl:text>http://dbus.freedesktop.org/doc/</xsl:text>
++ <xsl:value-of select="refentrytitle"/>
++ <xsl:text>.</xsl:text>
++ <xsl:value-of select="manvolnum"/>
++ <xsl:text>.html</xsl:text>
++ </xsl:attribute>
++ <xsl:call-template name="inline.charseq"/>
++ </a>
++</xsl:template>
++
+ <xsl:template match="refsect1/title|refsect1/info/title">
+ <!-- the ID is output in the block.object call for refsect1 -->
+ <h2>
+diff --git a/man/systemd-bus-proxyd.xml b/man/systemd-bus-proxyd.xml
+index 2c7764047b..e0efe99854 100644
+--- a/man/systemd-bus-proxyd.xml
++++ b/man/systemd-bus-proxyd.xml
+@@ -101,7 +101,7 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+ <title>See Also</title>
+
+ <para>
+- <citerefentry><refentrytitle>dbus-daemon</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
++ <citerefentry project='dbus'><refentrytitle>dbus-daemon</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <ulink url="http://freedesktop.org/wiki/Software/dbus">D-Bus</ulink>,
+ <ulink url="https://code.google.com/p/d-bus/">kdbus</ulink>
+ </para>
+diff --git a/man/systemd-bus-proxyd at .service.xml b/man/systemd-bus-proxyd at .service.xml
+index 141b43f6d9..dc4f07ff1b 100644
+--- a/man/systemd-bus-proxyd at .service.xml
++++ b/man/systemd-bus-proxyd at .service.xml
+@@ -73,7 +73,7 @@
+
+ <para>
+ <citerefentry><refentrytitle>systemd-bus-proxyd</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>dbus-daemon</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
++ <citerefentry project='dbus'><refentrytitle>dbus-daemon</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <ulink url="http://freedesktop.org/wiki/Software/dbus">D-Bus</ulink>,
+ <ulink url="https://code.google.com/p/d-bus/">kdbus</ulink>
+ </para>
+diff --git a/man/systemd-machine-id-setup.xml b/man/systemd-machine-id-setup.xml
+index 22bad3e5f4..182717f524 100644
+--- a/man/systemd-machine-id-setup.xml
++++ b/man/systemd-machine-id-setup.xml
+@@ -122,7 +122,7 @@
+ <para>
+ <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>dbus-uuidgen</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
++ <citerefentry project='dbus'><refentrytitle>dbus-uuidgen</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-firstboot</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ </para>
+ </refsect1>
diff --git a/0089-man-fix-name-of-systemd.resource-control-5.patch b/0089-man-fix-name-of-systemd.resource-control-5.patch
new file mode 100644
index 0000000..2918e25
--- /dev/null
+++ b/0089-man-fix-name-of-systemd.resource-control-5.patch
@@ -0,0 +1,23 @@
+From 01c9c40501ba72a595160137ab31a80bd42f62c6 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek at in.waw.pl>
+Date: Fri, 13 Mar 2015 21:25:37 -0500
+Subject: [PATCH] man: fix name of systemd.resource-control(5)
+
+(cherry picked from commit ee41f6028189819c728316e917ca09b9eb0a7850)
+---
+ man/systemctl.xml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/man/systemctl.xml b/man/systemctl.xml
+index b5e4cdf862..50e6bc93f2 100644
+--- a/man/systemctl.xml
++++ b/man/systemctl.xml
+@@ -1721,7 +1721,7 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
+ <citerefentry><refentrytitle>loginctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>machinectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+- <citerefentry><refentrytitle>systemd.resource-management</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
++ <citerefentry><refentrytitle>systemd.resource-control</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
+ <citerefentry project='man-pages'><refentrytitle>wall</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.preset</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
diff --git a/0090-selinux-fix-SEGV-during-switch-root-if-SELinux-polic.patch b/0090-selinux-fix-SEGV-during-switch-root-if-SELinux-polic.patch
new file mode 100644
index 0000000..9b4feb5
--- /dev/null
+++ b/0090-selinux-fix-SEGV-during-switch-root-if-SELinux-polic.patch
@@ -0,0 +1,37 @@
+From 19e98bf405a8105db71a4e3247b0397509825a6e Mon Sep 17 00:00:00 2001
+From: Will Woods <wwoods at redhat.com>
+Date: Fri, 13 Mar 2015 17:24:46 -0400
+Subject: [PATCH] selinux: fix SEGV during switch-root if SELinux policy loaded
+
+If you've got SELinux policy loaded, label_hnd is your labeling handle.
+When systemd is shutting down, we free that handle via mac_selinux_finish().
+
+But: switch_root() calls mkdir_p_label(), which tries to look up a label
+using that freed handle, and so we get a bunch of garbage and eventually
+SEGV in libselinux.
+
+(This doesn't happen in the switch-root from initramfs to real root because
+there's no SELinux policy loaded in initramfs, so label_hnd is NULL and we
+never attempt any lookups.)
+
+So: make sure that mac_selinux_finish() actually sets label_hnd to NULL, so
+nobody tries to use it after it becomes invalid.
+
+https://bugzilla.redhat.com/show_bug.cgi?id=1185604
+(cherry picked from commit f5ce2b49585a14cefb6d02f61c8dcdf7628a8605)
+---
+ src/shared/selinux-util.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/shared/selinux-util.c b/src/shared/selinux-util.c
+index a2233e0cfb..a46ddf8498 100644
+--- a/src/shared/selinux-util.c
++++ b/src/shared/selinux-util.c
+@@ -117,6 +117,7 @@ void mac_selinux_finish(void) {
+ return;
+
+ selabel_close(label_hnd);
++ label_hnd = NULL;
+ #endif
+ }
+
diff --git a/0091-service-don-t-add-After-dependencies-on-.busname-uni.patch b/0091-service-don-t-add-After-dependencies-on-.busname-uni.patch
new file mode 100644
index 0000000..0fc26ce
--- /dev/null
+++ b/0091-service-don-t-add-After-dependencies-on-.busname-uni.patch
@@ -0,0 +1,35 @@
+From 4acdc3835b2c9d395f1df95bb1dd5620a4a0e7e5 Mon Sep 17 00:00:00 2001
+From: Michael Biebl <biebl at debian.org>
+Date: Sat, 14 Mar 2015 16:48:54 +0100
+Subject: [PATCH] service: don't add After= dependencies on .busname units if
+ kdbus support is disabled
+
+(cherry picked from commit 6962fd3bd28cb5d3aaff69c1e3b6cc006e7c8426)
+---
+ src/core/service.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/src/core/service.c b/src/core/service.c
+index 7781b4e626..ae5e610008 100644
+--- a/src/core/service.c
++++ b/src/core/service.c
+@@ -556,14 +556,16 @@ static int service_add_extras(Service *s) {
+ s->notify_access = NOTIFY_MAIN;
+
+ if (s->bus_name) {
++#ifdef ENABLE_KDBUS
+ const char *n;
+
+- r = unit_watch_bus_name(UNIT(s), s->bus_name);
++ n = strjoina(s->bus_name, ".busname");
++ r = unit_add_dependency_by_name(UNIT(s), UNIT_AFTER, n, NULL, true);
+ if (r < 0)
+ return r;
++#endif
+
+- n = strjoina(s->bus_name, ".busname");
+- r = unit_add_dependency_by_name(UNIT(s), UNIT_AFTER, n, NULL, true);
++ r = unit_watch_bus_name(UNIT(s), s->bus_name);
+ if (r < 0)
+ return r;
+ }
diff --git a/systemd.spec b/systemd.spec
index 8cf6ab1..60a060e 100644
--- a/systemd.spec
+++ b/systemd.spec
@@ -13,7 +13,7 @@
Name: systemd
Url: http://www.freedesktop.org/wiki/Software/systemd
Version: 219
-Release: 9%{?gitcommit:.git%{gitcommit}}%{?dist}
+Release: 10%{?gitcommit:.git%{gitcommit}}%{?dist}
# For a breakdown of the licensing, see README
License: LGPLv2+ and MIT and GPLv2+
Summary: A System and Service Manager
@@ -64,7 +64,71 @@ Patch0023: 0023-journal-fix-Inappropriate-ioctl-for-device-on-ext4.patch
Patch0024: 0024-sd-daemon-replace-VLA-with-alloca-to-make-llvm-happy.patch
Patch0025: 0025-tmpfiles-quietly-ignore-ACLs-on-unsupported-filesyst.patch
Patch0026: 0026-shared-util-assume-ac-when-sys-class-power_supply-is.patch
-Patch0027: 0027-hwdb-fix-ThinkPad-X-Tablet-special-keys.patch
+Patch0027: 0027-import-remove-unused-variable.patch
+Patch0028: 0028-hwdb-fix-ThinkPad-X-Tablet-special-keys.patch
+Patch0029: 0029-man-add-newlines-to-the-pull-raw-example-in-machinec.patch
+Patch0030: 0030-core-shared-in-deserializing-match-same-files-reache.patch
+Patch0031: 0031-shared-use-SocketAddress-in-socket_address_matches_f.patch
+Patch0032: 0032-shared-avoid-semi-duplicating-socket_address_equal.patch
+Patch0033: 0033-shared-handle-unnamed-sockets-in-socket_address_equa.patch
+Patch0034: 0034-man-make-bootup-graph-consistent.patch
+Patch0035: 0035-nspawn-fix-whitespace-and-typo-in-partition-table-bl.patch
+Patch0036: 0036-man-explain-time-units-in-tmpfiles.patch
+Patch0037: 0037-systemctl-check-validity-of-PID-we-received.patch
+Patch0038: 0038-systemctl-support-auditd.service-better.patch
+Patch0039: 0039-shared-unit-name-fix-gcc5-warning.patch
+Patch0040: 0040-test-hashmap-fix-gcc5-warning.patch
+Patch0041: 0041-shared-fix-wrong-assertion-in-barrier_set_role.patch
+Patch0042: 0042-hwdb-Update-database-of-Bluetooth-company-identifier.patch
+Patch0043: 0043-journal-make-skipping-of-exhausted-journal-files-eff.patch
+Patch0044: 0044-hwdb-add-sdio-identifiers-for-Broadcom-WLAN-cards.patch
+Patch0045: 0045-shared-condition-fix-gcc5-warning.patch
+Patch0046: 0046-man-correct-description-of-systemd-user-sessions.patch
+Patch0047: 0047-build-sys-allow-lto-and-FORTIFY_SOURCE-with-O-sz.patch
+Patch0048: 0048-man-fix-typo.patch
+Patch0049: 0049-bus-proxyd-avoid-logging-oom-twice.patch
+Patch0050: 0050-Do-not-run-sysv-generator-test-when-sysv-compat-is-d.patch
+Patch0051: 0051-README-mention-ACLs-more.patch
+Patch0052: 0052-Do-not-advertise-.d-snippets-over-main-config-file.patch
+Patch0053: 0053-hwdb-add-pnpid-for-the-T450s-touchpad.patch
+Patch0054: 0054-networkd-netdev-inform-when-we-take-over-an-existing.patch
+Patch0055: 0055-man-replace-obsolete-wiki-link-with-man-page.patch
+Patch0056: 0056-Use-correct-uname-identifiers-in-arch_map-for-SuperH.patch
+Patch0057: 0057-hwdb-fix-Dell-XPS12-9Q33-key-name.patch
+Patch0058: 0058-Remove-the-cap-on-epoll-events.patch
+Patch0059: 0059-Allow-up-to-4096-simultaneous-connections.patch
+Patch0060: 0060-hwdb-add-Logitech-G5-Laser-Mouse.patch
+Patch0061: 0061-tmpfiles-Fix-handling-of-duplicate-lines.patch
+Patch0062: 0062-hwdb-add-Lenovo-W451-to-TOUCHPAD_HAS_TRACKPOINT_BUTT.patch
+Patch0063: 0063-vconsole-match-on-vtcon-events-not-fbcon-ones.patch
+Patch0064: 0064-core-do-not-spawn-jobs-or-touch-other-units-during-c.patch
+Patch0065: 0065-firstboot-set-all-spwd-fields-to-1-for-consistency-w.patch
+Patch0066: 0066-sysusers-do-not-reject-users-with-already-present-et.patch
+Patch0067: 0067-nspawn-fix-use-after-free-and-leak-in-error-paths.patch
+Patch0068: 0068-login-fix-copy-pasto-in-error-path.patch
+Patch0069: 0069-journalctl-update-hint-now-that-we-set-ACL-everywher.patch
+Patch0070: 0070-sd-journal-return-error-when-we-cannot-open-a-file.patch
+Patch0071: 0071-missing.h-add-NDA_.patch
+Patch0072: 0072-udevd-close-race-in-udev-settle.patch
+Patch0073: 0073-man-document-that-ExecStartPre-is-not-the-place-to-s.patch
+Patch0074: 0074-journal-fix-return-code.patch
+Patch0075: 0075-console-fix-error-code-inversion.patch
+Patch0076: 0076-bus-proxy-complain-only-once-about-queue-overflows.patch
+Patch0077: 0077-cgtop-fix-assert-when-not-on-tty.patch
+Patch0078: 0078-man-split-paragraph.patch
+Patch0079: 0079-hwdb-update.patch
+Patch0080: 0080-networkd-Begin-with-serial-number-1-for-netlink-requ.patch
+Patch0081: 0081-journal-remote-downgrade-routine-messages-to-debug.patch
+Patch0082: 0082-journal-remote-process-events-without-delay.patch
+Patch0083: 0083-man-update-example-2-in-systemd.network-5.patch
+Patch0084: 0084-gpt-auto-generator-fix-detection-of-srv.patch
+Patch0085: 0085-sd-rtnl-never-set-serial-to-0.patch
+Patch0086: 0086-gpt-auto-generator-allow-type-check-to-fail.patch
+Patch0087: 0087-man-fix-a-bunch-of-links.patch
+Patch0088: 0088-man-link-to-fd.o-for-dbus-stuff.patch
+Patch0089: 0089-man-fix-name-of-systemd.resource-control-5.patch
+Patch0090: 0090-selinux-fix-SEGV-during-switch-root-if-SELinux-polic.patch
+Patch0091: 0091-service-don-t-add-After-dependencies-on-.busname-uni.patch
# kernel-install patch for grubby, drop if grubby is obsolete
@@ -289,6 +353,7 @@ systemd-journal-gatewayd serves journal events over the network using HTTP.
--exclude CODING_STYLE \
--exclude src/readahead/Makefile \
--exclude src/libsystemd-terminal/unifont-def.h \
+ --exclude hwdb/sdio.ids \
%{patches}
%endif
@@ -885,6 +950,21 @@ getent passwd systemd-journal-upload >/dev/null 2>&1 || useradd -r -l -g systemd
/usr/lib/firewalld/services/*
%changelog
+* Sat Mar 14 2015 Zbigniew Jędrzejewski-Szmek <zbyszek at in.waw.pl> - 219-10
+- Fixes for bugs 1186018, 1195294, 1185604, 1196452.
+- Hardware database update.
+- Documentation fixes.
+- A fix for journalctl performance regression.
+- Fix detection of inability to open files in journalctl.
+- Detect SuperH architecture properly.
+- The first of duplicate lines in tmpfiles wins again.
+- Do vconsole setup after loading vconsole driver, not fbcon.
+- Fix problem where some units were restarted during systemd reexec.
+- Fix race in udevadm settle tripping up NetworkManager.
+- Downgrade various log messages.
+- Fix issue where journal-remote would process some messages with a delay.
+- GPT /srv partition autodiscovery is fixed.
+
* Tue Mar 10 2015 Jan Synáček <jsynacek at redhat.com> - 219-9
- Buttons on Lenovo X6* tablets broken (#1198939)
More information about the scm-commits
mailing list