diff --git a/0001-NEWS-fix-date.patch b/0001-NEWS-fix-date.patch
deleted file mode 100644
index 04c8dc0..0000000
--- a/0001-NEWS-fix-date.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 39315f9f8dd5a16b4561c5efffc6114c75835011 Mon Sep 17 00:00:00 2001
-From: Lennart Poettering <lennart@poettering.net>
-Date: Fri, 22 May 2015 01:37:16 +0200
-Subject: [PATCH] NEWS: fix date
-
-Ah, bummer, it's tagged an now I realize I didn't fix the date. Let's do
-so now, post-commit.
----
- NEWS | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/NEWS b/NEWS
-index 7a4621cc5d..f72f502129 100644
---- a/NEWS
-+++ b/NEWS
-@@ -227,7 +227,7 @@ CHANGES WITH 220:
-         Gundersen, Torstein Husebø, Umut Tezduyar Lindskog, Will
-         Woods, Zachary Cook, Zbigniew Jędrzejewski-Szmek
- 
--        -- Berlin, 2015-05-??
-+        -- Berlin, 2015-05-22
- 
- CHANGES WITH 219:
- 
diff --git a/0002-udev-net_id-Only-read-the-first-64-bytes-of-PCI-conf.patch b/0002-udev-net_id-Only-read-the-first-64-bytes-of-PCI-conf.patch
deleted file mode 100644
index 0fbb2fc..0000000
--- a/0002-udev-net_id-Only-read-the-first-64-bytes-of-PCI-conf.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 4db1a8d691a85aa1f75b7eeb283246f488e47a3b Mon Sep 17 00:00:00 2001
-From: "Jason S. McMullan" <jason.mcmullan@gmail.com>
-Date: Fri, 22 May 2015 20:30:01 +0200
-Subject: [PATCH] udev/net_id: Only read the first 64 bytes of PCI config space
-
-The original code used fread(), which on some libc implementions
-(ie glibc 2.17) would pre-read a full 4K (PAGE_SIZE) of the
-PCI config space, when only 64 bytes were requested.
-
-I have recently come across PCIe hardware which responds with
-Completion Timeouts when accesses above 256 bytes are attempted.
-
-This can cause server systems with GHES/AEPI support to cause
-and immediate kernel panic due to the failed PCI transaction.
-
-This change replaces the buffered fread() with an explict
-unbuffered read() of 64 bytes, which corrects this issue by
-only reading the guaranteed first 64 bytes of PCIe config space.
-
-(cherry picked from commit 0454229c100a2113ba82df55703436d6cb2c492b)
----
- src/udev/udev-builtin-net_id.c | 9 +++++----
- 1 file changed, 5 insertions(+), 4 deletions(-)
-
-diff --git a/src/udev/udev-builtin-net_id.c b/src/udev/udev-builtin-net_id.c
-index 78aef206b2..448920507a 100644
---- a/src/udev/udev-builtin-net_id.c
-+++ b/src/udev/udev-builtin-net_id.c
-@@ -91,6 +91,7 @@
- #include <stdlib.h>
- #include <stdarg.h>
- #include <unistd.h>
-+#include <fcntl.h>
- #include <string.h>
- #include <errno.h>
- #include <net/if.h>
-@@ -166,15 +167,15 @@ static int dev_pci_onboard(struct udev_device *dev, struct netnames *names) {
- 
- /* read the 256 bytes PCI configuration space to check the multi-function bit */
- static bool is_pci_multifunction(struct udev_device *dev) {
--        _cleanup_fclose_ FILE *f = NULL;
-+        _cleanup_close_ int fd = -1;
-         const char *filename;
-         uint8_t config[64];
- 
-         filename = strjoina(udev_device_get_syspath(dev), "/config");
--        f = fopen(filename, "re");
--        if (!f)
-+        fd = open(filename, O_RDONLY | O_CLOEXEC);
-+        if (fd < 0)
-                 return false;
--        if (fread(&config, sizeof(config), 1, f) != 1)
-+        if (read(fd, &config, sizeof(config)) != sizeof(config))
-                 return false;
- 
-         /* bit 0-6 header type, bit 7 multi/single function device */
diff --git a/0003-bootctl-ferror-must-be-called-before-FILE-is-closed.patch b/0003-bootctl-ferror-must-be-called-before-FILE-is-closed.patch
deleted file mode 100644
index c22043c..0000000
--- a/0003-bootctl-ferror-must-be-called-before-FILE-is-closed.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 0628a6f0ffc097c0061d7d03e39c912eba91d1e3 Mon Sep 17 00:00:00 2001
-From: Thomas Hindoe Paaboel Andersen <phomes@gmail.com>
-Date: Fri, 22 May 2015 23:40:19 +0200
-Subject: [PATCH] bootctl: ferror must be called before FILE is closed
-
-Otherwise it will not show any error stored
-
-(cherry picked from commit 717442507b4b11aa1d76810d7b12b15948c7a250)
----
- src/boot/bootctl.c | 16 +++++++---------
- 1 file changed, 7 insertions(+), 9 deletions(-)
-
-diff --git a/src/boot/bootctl.c b/src/boot/bootctl.c
-index 3a007578dc..ba534b172e 100644
---- a/src/boot/bootctl.c
-+++ b/src/boot/bootctl.c
-@@ -884,7 +884,7 @@ static int install_loader_config(const char *esp_path) {
-         char *p;
-         char line[64];
-         char *machine = NULL;
--        FILE *f;
-+        _cleanup_fclose_ FILE *f = NULL, *g = NULL;
- 
-         f = fopen("/etc/machine-id", "re");
-         if (!f)
-@@ -899,18 +899,16 @@ static int install_loader_config(const char *esp_path) {
-                 if (strlen(line) == 32)
-                         machine = line;
-         }
--        fclose(f);
- 
-         if (!machine)
-                 return -ESRCH;
- 
-         p = strjoina(esp_path, "/loader/loader.conf");
--        f = fopen(p, "wxe");
--        if (f) {
--                fprintf(f, "#timeout 3\n");
--                fprintf(f, "default %s-*\n", machine);
--                fclose(f);
--                if (ferror(f))
-+        g = fopen(p, "wxe");
-+        if (g) {
-+                fprintf(g, "#timeout 3\n");
-+                fprintf(g, "default %s-*\n", machine);
-+                if (ferror(g))
-                         return log_error_errno(EIO, "Failed to write \"%s\": %m", p);
-         }
- 
-@@ -926,7 +924,7 @@ static int help(void) {
-                "     --path=PATH     Path to the EFI System Partition (ESP)\n"
-                "     --no-variables  Don't touch EFI variables\n"
-                "\n"
--               "Comands:\n"
-+               "Commands:\n"
-                "     status          Show status of installed systemd-boot and EFI variables\n"
-                "     install         Install systemd-boot to the ESP and EFI variables\n"
-                "     update          Update systemd-boot in the ESP and EFI variables\n"
diff --git a/0004-fix-typos-in-systemd-nspawn-man-page.patch b/0004-fix-typos-in-systemd-nspawn-man-page.patch
deleted file mode 100644
index 775a701..0000000
--- a/0004-fix-typos-in-systemd-nspawn-man-page.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From cf118c70b6fa165db6d4eeccac3c8b88d9170d2f Mon Sep 17 00:00:00 2001
-From: Jonathan Boulle <jonathan.boulle@coreos.com>
-Date: Fri, 22 May 2015 20:11:01 -0700
-Subject: [PATCH] fix typos in systemd-nspawn man page
-
-(cherry picked from commit 7c918141edad0063a82411e0f9637e72a8aba223)
----
- man/systemd-nspawn.xml | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/man/systemd-nspawn.xml b/man/systemd-nspawn.xml
-index 6a5db86cec..06285edc0b 100644
---- a/man/systemd-nspawn.xml
-+++ b/man/systemd-nspawn.xml
-@@ -330,7 +330,7 @@
-         first host UID to assign to the container, the second
-         parameter specifies the number of host UIDs to assign to the
-         container. If the second parameter is omitted, 65536 UIDs are
--        assigned. If the first parameter is also ommitted (and hence
-+        assigned. If the first parameter is also omitted (and hence
-         no parameter passed at all), the first UID assigned to the
-         container is read from the owner of the root directory of the
-         container's directory tree. By default no user namespacing is
-@@ -454,7 +454,7 @@
-         container port number in the range from 1 to 65535. The
-         protocol specifier and its separating colon may be omitted, in
-         which case <literal>tcp</literal> is assumed. The container
--        port number and its colon may be ommitted, in which case the
-+        port number and its colon may be omitted, in which case the
-         same port as the host port is implied. This option is only
-         supported if private networking is used, such as
-         <option>--network-veth</option> or
diff --git a/0005-bootctl-fix-an-error-check.patch b/0005-bootctl-fix-an-error-check.patch
deleted file mode 100644
index 47ca3b7..0000000
--- a/0005-bootctl-fix-an-error-check.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 6f1181c3d69c1bd38df5c89ca844686fbd4d1218 Mon Sep 17 00:00:00 2001
-From: Thomas Hindoe Paaboel Andersen <phomes@gmail.com>
-Date: Sat, 23 May 2015 13:02:56 +0200
-Subject: [PATCH] bootctl: fix an error check
-
-(cherry picked from commit dd114e116bf73a616c95a5b9e400199eb3bfa4c7)
----
- src/boot/bootctl.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/boot/bootctl.c b/src/boot/bootctl.c
-index ba534b172e..1e65597acf 100644
---- a/src/boot/bootctl.c
-+++ b/src/boot/bootctl.c
-@@ -805,7 +805,7 @@ static int remove_boot_efi(const char *esp_path) {
-                         continue;
- 
-                 fd = openat(dirfd(d), de->d_name, O_RDONLY|O_CLOEXEC);
--                if (r < 0)
-+                if (fd < 0)
-                         return log_error_errno(errno, "Failed to open \"%s/%s\" for reading: %m", p, de->d_name);
- 
-                 r = get_file_version(fd, &v);
diff --git a/0006-udevd-event-fix-event-queue-in-daemenozied-mode.patch b/0006-udevd-event-fix-event-queue-in-daemenozied-mode.patch
deleted file mode 100644
index 37511d7..0000000
--- a/0006-udevd-event-fix-event-queue-in-daemenozied-mode.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 8bfef09df8e1011c6f413822f4455d084b30ba15 Mon Sep 17 00:00:00 2001
-From: Tom Gundersen <teg@jklm.no>
-Date: Sun, 24 May 2015 15:20:36 +0200
-Subject: [PATCH] udevd: event - fix event queue in daemenozied mode
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-We would enforce that events could only be added to the queue from the
-main process, but that brake in daemonized mode. Relax the restriction
-to only allow one process to add events to the queue.
-
-Reported by Mantas Mikulėnas.
-
-(cherry picked from commit 040e689654ef08c63ab93bf0875865398e8d9c91)
----
- src/udev/udevd.c | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/src/udev/udevd.c b/src/udev/udevd.c
-index afd4640ad1..2a9a429e66 100644
---- a/src/udev/udevd.c
-+++ b/src/udev/udevd.c
-@@ -564,7 +564,10 @@ static int event_queue_insert(Manager *manager, struct udev_device *dev) {
-         assert(manager);
-         assert(dev);
- 
--        /* only the main process can add events to the queue */
-+        /* only one process can add events to the queue */
-+        if (manager->pid == 0)
-+                manager->pid = getpid();
-+
-         assert(manager->pid == getpid());
- 
-         event = new0(struct event, 1);
-@@ -1300,8 +1303,6 @@ static int manager_new(Manager **ret) {
-         if (!manager)
-                 return log_oom();
- 
--        manager->pid = getpid();
--
-         manager->fd_ep = -1;
-         manager->fd_ctrl = -1;
-         manager->fd_uevent = -1;
diff --git a/0007-nspawn-be-verbose-about-interface-names.patch b/0007-nspawn-be-verbose-about-interface-names.patch
deleted file mode 100644
index 6ac4a73..0000000
--- a/0007-nspawn-be-verbose-about-interface-names.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 3f712cd14c3af1ba2d177f5aa72ee63df9a41d0f Mon Sep 17 00:00:00 2001
-From: Umut Tezduyar Lindskog <umut.tezduyar@axis.com>
-Date: Fri, 22 May 2015 16:02:09 +0200
-Subject: [PATCH] nspawn: be verbose about interface names
-
-Allowed interface name is relatively small. Lets not make
-users go in to the source code to figure out what happened.
-
---machine=debian-tree conflicts with
---machine=debian-tree2
-
-ex: Failed to add new veth \
-         interfaces (host0, vb-debian-tree): File exists
-
-(cherry picked from commit 637aa8a36ce21e0c83466d9b91ee1bfad2404d1c)
----
- 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 500936387f..646edea700 100644
---- a/src/nspawn/nspawn.c
-+++ b/src/nspawn/nspawn.c
-@@ -2627,7 +2627,7 @@ static int setup_veth(pid_t pid, char iface_name[IFNAMSIZ], int *ifi) {
- 
-         r = sd_rtnl_call(rtnl, m, 0, NULL);
-         if (r < 0)
--                return log_error_errno(r, "Failed to add new veth interfaces: %m");
-+                return log_error_errno(r, "Failed to add new veth interfaces (host0, %s): %m", iface_name);
- 
-         i = (int) if_nametoindex(iface_name);
-         if (i <= 0)
diff --git a/0008-shared-generator-correct-path-to-systemd-fsck.patch b/0008-shared-generator-correct-path-to-systemd-fsck.patch
deleted file mode 100644
index 9bec37f..0000000
--- a/0008-shared-generator-correct-path-to-systemd-fsck.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 52125df42e5c9f207ccb4455593e2897bed6fbd6 Mon Sep 17 00:00:00 2001
-From: Mike Gilbert <floppym@gentoo.org>
-Date: Sun, 24 May 2015 16:33:35 -0400
-Subject: [PATCH] shared: generator - correct path to systemd-fsck
-
-In generated systemd-fsck-root.service. This would break if rootprefix
-is not /usr/lib/systemd.
-
-[tomegun: flesh out commit message]
-
-(cherry picked from commit 77eb82f9f0f60535ab5f585834ed6e66cf39b184)
----
- Makefile.am            | 1 +
- src/shared/generator.c | 2 +-
- 2 files changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index 3821ee5eb4..dd1e9e4e48 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -188,6 +188,7 @@ AM_CPPFLAGS = \
- 	-DCATALOG_DATABASE=\"$(catalogstatedir)/database\" \
- 	-DSYSTEMD_CGROUP_AGENT_PATH=\"$(rootlibexecdir)/systemd-cgroups-agent\" \
- 	-DSYSTEMD_BINARY_PATH=\"$(rootlibexecdir)/systemd\" \
-+	-DSYSTEMD_FSCK_PATH=\"$(rootlibexecdir)/systemd-fsck\" \
- 	-DSYSTEMD_SHUTDOWN_BINARY_PATH=\"$(rootlibexecdir)/systemd-shutdown\" \
- 	-DSYSTEMD_SLEEP_BINARY_PATH=\"$(rootlibexecdir)/systemd-sleep\" \
- 	-DSYSTEMCTL_BINARY_PATH=\"$(rootbindir)/systemctl\" \
-diff --git a/src/shared/generator.c b/src/shared/generator.c
-index 81284995f5..807569a1b8 100644
---- a/src/shared/generator.c
-+++ b/src/shared/generator.c
-@@ -61,7 +61,7 @@ static int write_fsck_sysroot_service(const char *dir, const char *what) {
-                 "[Service]\n"
-                 "Type=oneshot\n"
-                 "RemainAfterExit=yes\n"
--                "ExecStart=/usr/lib/systemd/systemd-fsck %2$s\n"
-+                "ExecStart=" SYSTEMD_FSCK_PATH " %2$s\n"
-                 "TimeoutSec=0\n",
-                 program_invocation_short_name,
-                 what,
diff --git a/0009-networkd-fix-IFF_UP-when-ipv6-support-is-disabled.patch b/0009-networkd-fix-IFF_UP-when-ipv6-support-is-disabled.patch
deleted file mode 100644
index bbfa4a2..0000000
--- a/0009-networkd-fix-IFF_UP-when-ipv6-support-is-disabled.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From c88fd204e9822cd92d97a93f9120c9d58d3a5037 Mon Sep 17 00:00:00 2001
-From: Tom Gundersen <teg@jklm.no>
-Date: Mon, 25 May 2015 17:34:47 +0200
-Subject: [PATCH] networkd: fix IFF_UP when ipv6 support is disabled
-
-Passing ipv6 options (even when they should be noops) caused IFF_UP to fail when
-ipv6 was supported.
-
-Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=90103
-(cherry picked from commit 01d28f81a782616b6daa84a42447fd4939783a66)
----
- src/network/networkd-link.c | 31 +++++++++++++++++--------------
- 1 file changed, 17 insertions(+), 14 deletions(-)
-
-diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
-index 8b0de1f741..f039a2d687 100644
---- a/src/network/networkd-link.c
-+++ b/src/network/networkd-link.c
-@@ -1010,27 +1010,30 @@ static int link_up(Link *link) {
-         if (r < 0)
-                 return log_link_error_errno(link, r, "Could not open IFLA_AF_SPEC container: %m");
- 
--        r = sd_rtnl_message_open_container(req, AF_INET6);
--        if (r < 0)
--                return log_link_error_errno(link, r, "Could not open AF_INET6 container: %m");
-+        if (socket_ipv6_is_supported()) {
-+                /* if the kernel lacks ipv6 support setting IFF_UP fails if any ipv6 options are passed */
-+                r = sd_rtnl_message_open_container(req, AF_INET6);
-+                if (r < 0)
-+                        return log_link_error_errno(link, r, "Could not open AF_INET6 container: %m");
- 
--        ipv6ll_mode = link_ipv6ll_enabled(link) ? IN6_ADDR_GEN_MODE_EUI64 : IN6_ADDR_GEN_MODE_NONE;
--        r = sd_rtnl_message_append_u8(req, IFLA_INET6_ADDR_GEN_MODE, ipv6ll_mode);
--        if (r < 0)
--                return log_link_error_errno(link, r, "Could not append IFLA_INET6_ADDR_GEN_MODE: %m");
-+                ipv6ll_mode = link_ipv6ll_enabled(link) ? IN6_ADDR_GEN_MODE_EUI64 : IN6_ADDR_GEN_MODE_NONE;
-+                r = sd_rtnl_message_append_u8(req, IFLA_INET6_ADDR_GEN_MODE, ipv6ll_mode);
-+                if (r < 0)
-+                        return log_link_error_errno(link, r, "Could not append IFLA_INET6_ADDR_GEN_MODE: %m");
-+
-+                if (!in_addr_is_null(AF_INET6, &link->network->ipv6_token)) {
-+                        r = sd_rtnl_message_append_in6_addr(req, IFLA_INET6_TOKEN, &link->network->ipv6_token.in6);
-+                        if (r < 0)
-+                                return log_link_error_errno(link, r, "Could not append IFLA_INET6_TOKEN: %m");
-+                }
- 
--        if (!in_addr_is_null(AF_INET6, &link->network->ipv6_token)) {
--                r = sd_rtnl_message_append_in6_addr(req, IFLA_INET6_TOKEN, &link->network->ipv6_token.in6);
-+                r = sd_rtnl_message_close_container(req);
-                 if (r < 0)
--                        return log_link_error_errno(link, r, "Could not append IFLA_INET6_TOKEN: %m");
-+                        return log_link_error_errno(link, r, "Could not close AF_INET6 container: %m");
-         }
- 
-         r = sd_rtnl_message_close_container(req);
-         if (r < 0)
--                return log_link_error_errno(link, r, "Could not close AF_INET6 container: %m");
--
--        r = sd_rtnl_message_close_container(req);
--        if (r < 0)
-                 return log_link_error_errno(link, r, "Could not close IFLA_AF_SPEC container: %m");
- 
-         r = sd_rtnl_call_async(link->manager->rtnl, req, link_up_handler, link, 0, NULL);
diff --git a/0010-import-dkr-avoid-NULL-pointer-dereference.patch b/0010-import-dkr-avoid-NULL-pointer-dereference.patch
deleted file mode 100644
index d70dc66..0000000
--- a/0010-import-dkr-avoid-NULL-pointer-dereference.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 8241402c1aadd32f1918d75d04da485430818dcb Mon Sep 17 00:00:00 2001
-From: Tom Gundersen <teg@jklm.no>
-Date: Mon, 25 May 2015 22:47:42 +0200
-Subject: [PATCH] import: dkr - avoid NULL-pointer dereference
-
-A malformed manifest could in principle cause a NULL pointer dereference of. Check
-for this and fail early.
-
-Fixes CID 1299642.
-
-(cherry picked from commit 37591152d261ba980b8992de37ee940c9e5c5da0)
----
- src/import/pull-dkr.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/import/pull-dkr.c b/src/import/pull-dkr.c
-index 40aca786a5..d7476dc340 100644
---- a/src/import/pull-dkr.c
-+++ b/src/import/pull-dkr.c
-@@ -864,7 +864,7 @@ static void dkr_pull_job_on_finished_v2(PullJob *j) {
-                 }
- 
-                 e = json_variant_value(doc, "fsLayers");
--                if (!e || e->type != JSON_VARIANT_ARRAY) {
-+                if (!e || e->type != JSON_VARIANT_ARRAY || e->size == 0) {
-                         r = -EBADMSG;
-                         goto finish;
-                 }
diff --git a/0011-treewide-fix-typos.patch b/0011-treewide-fix-typos.patch
deleted file mode 100644
index 1cfb33a..0000000
--- a/0011-treewide-fix-typos.patch
+++ /dev/null
@@ -1,162 +0,0 @@
-From 78f397aa143fed6b978e4923e443e99ab7686662 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Torstein=20Huseb=C3=B8?= <torstein@huseboe.net>
-Date: Tue, 26 May 2015 19:17:30 +0200
-Subject: [PATCH] treewide: fix typos
-
-(cherry picked from commit 45afd51974fb6a88c5b1fe0b325b7b20fd7b7449)
----
- NEWS                                | 4 ++--
- man/journal-remote.conf.xml         | 2 +-
- src/libsystemd/sd-bus/bus-control.c | 2 +-
- src/libsystemd/sd-bus/bus-creds.c   | 6 +++---
- src/shared/architecture.c           | 2 +-
- src/shared/architecture.h           | 2 +-
- src/shared/capability.h             | 2 +-
- src/shared/fdset.c                  | 2 +-
- src/shared/util.c                   | 2 +-
- 9 files changed, 12 insertions(+), 12 deletions(-)
-
-diff --git a/NEWS b/NEWS
-index f72f502129..ee533b4363 100644
---- a/NEWS
-+++ b/NEWS
-@@ -3997,7 +3997,7 @@ CHANGES WITH 191:
-         * HandleSleepKey= in logind.conf has been split up into
-           HandleSuspendKey= and HandleHibernateKey=. The old setting
-           is not available anymore. X11 and the kernel are
--          distuingishing between these keys and we should too. This
-+          distinguishing between these keys and we should too. This
-           also means the inhibition lock for these keys has been split
-           into two.
- 
-@@ -4743,7 +4743,7 @@ CHANGES WITH 43:
- 
-         * Various functionality updates to libsystemd-login.so
- 
--        * Track class of PAM logins to distuingish greeters from
-+        * Track class of PAM logins to distinguish greeters from
-           normal user logins.
- 
-         Contributions from: Kay Sievers, Lennart Poettering, Michael
-diff --git a/man/journal-remote.conf.xml b/man/journal-remote.conf.xml
-index a7b2227182..fc60258d0b 100644
---- a/man/journal-remote.conf.xml
-+++ b/man/journal-remote.conf.xml
-@@ -83,7 +83,7 @@
-       <varlistentry>
-         <term><varname>ServerKeyFile=</varname></term>
- 
--        <listitem><para>SSL key in PEM format</para></listitem>
-+        <listitem><para>SSL key in PEM format.</para></listitem>
-       </varlistentry>
- 
-       <varlistentry>
-diff --git a/src/libsystemd/sd-bus/bus-control.c b/src/libsystemd/sd-bus/bus-control.c
-index fa4c28174d..43ddfc651d 100644
---- a/src/libsystemd/sd-bus/bus-control.c
-+++ b/src/libsystemd/sd-bus/bus-control.c
-@@ -429,7 +429,7 @@ static int bus_populate_creds_from_items(
-                                         c->mask |= SD_BUS_CREDS_PPID;
-                                 } else if (item->pids.pid == 1) {
-                                         /* The structure doesn't
--                                         * really distuingish the case
-+                                         * really distinguish the case
-                                          * where a process has no
-                                          * parent and where we don't
-                                          * know it because it could
-diff --git a/src/libsystemd/sd-bus/bus-creds.c b/src/libsystemd/sd-bus/bus-creds.c
-index fed66823c7..4d67619cf8 100644
---- a/src/libsystemd/sd-bus/bus-creds.c
-+++ b/src/libsystemd/sd-bus/bus-creds.c
-@@ -303,7 +303,7 @@ _public_ int sd_bus_creds_get_ppid(sd_bus_creds *c, pid_t *ppid) {
-         if (!(c->mask & SD_BUS_CREDS_PPID))
-                 return -ENODATA;
- 
--        /* PID 1 has no parent process. Let's distuingish the case of
-+        /* PID 1 has no parent process. Let's distinguish the case of
-          * not knowing and not having a parent process by the returned
-          * error code. */
-         if (c->ppid == 0)
-@@ -989,7 +989,7 @@ int bus_creds_add_more(sd_bus_creds *c, uint64_t mask, pid_t pid, pid_t tid) {
-         if (missing & SD_BUS_CREDS_EXE) {
-                 r = get_process_exe(pid, &c->exe);
-                 if (r == -ESRCH) {
--                        /* Unfortunately we cannot really distuingish
-+                        /* Unfortunately we cannot really distinguish
-                          * the case here where the process does not
-                          * exist, and /proc/$PID/exe being unreadable
-                          * because $PID is a kernel thread. Hence,
-@@ -1101,7 +1101,7 @@ int bus_creds_add_more(sd_bus_creds *c, uint64_t mask, pid_t pid, pid_t tid) {
-         }
- 
-         /* In case only the exe path was to be read we cannot
--         * distuingish the case where the exe path was unreadable
-+         * distinguish the case where the exe path was unreadable
-          * because the process was a kernel thread, or when the
-          * process didn't exist at all. Hence, let's do a final check,
-          * to be sure. */
-diff --git a/src/shared/architecture.c b/src/shared/architecture.c
-index 884abdd3ea..8e72e7a36a 100644
---- a/src/shared/architecture.c
-+++ b/src/shared/architecture.c
-@@ -35,7 +35,7 @@ int uname_architecture(void) {
-          * 1:1. Instead we try to clean it up and break down the
-          * confusion on x86 and arm in particular.
-          *
--         * We do not try to distuingish CPUs not CPU features, but
-+         * We do not try to distinguish CPUs not CPU features, but
-          * actual architectures, i.e. that have genuinely different
-          * code. */
- 
-diff --git a/src/shared/architecture.h b/src/shared/architecture.h
-index cb82418a5e..f5bbf65a90 100644
---- a/src/shared/architecture.h
-+++ b/src/shared/architecture.h
-@@ -27,7 +27,7 @@
- 
- /* A cleaned up architecture definition. We don't want to get lost in
-  * processor features, models, generations or even ABIs. Hence we
-- * focus on general family, and distuignish word width and
-+ * focus on general family, and distinguish word width and
-  * endianness. */
- 
- enum {
-diff --git a/src/shared/capability.h b/src/shared/capability.h
-index 8260ae1a81..4eb5c2a835 100644
---- a/src/shared/capability.h
-+++ b/src/shared/capability.h
-@@ -31,7 +31,7 @@ int have_effective_cap(int value);
- int capability_bounding_set_drop(uint64_t drop, bool right_now);
- int capability_bounding_set_drop_usermode(uint64_t drop);
- 
--int drop_privileges(uid_t uid, gid_t gid, uint64_t keep_capabilites);
-+int drop_privileges(uid_t uid, gid_t gid, uint64_t keep_capabilities);
- 
- int drop_capability(cap_value_t cv);
- 
-diff --git a/src/shared/fdset.c b/src/shared/fdset.c
-index 31849272bd..6101b628ec 100644
---- a/src/shared/fdset.c
-+++ b/src/shared/fdset.c
-@@ -32,7 +32,7 @@
- #define MAKE_SET(s) ((Set*) s)
- #define MAKE_FDSET(s) ((FDSet*) s)
- 
--/* Make sure we can distuingish fd 0 and NULL */
-+/* Make sure we can distinguish fd 0 and NULL */
- #define FD_TO_PTR(fd) INT_TO_PTR((fd)+1)
- #define PTR_TO_FD(p) (PTR_TO_INT(p)-1)
- 
-diff --git a/src/shared/util.c b/src/shared/util.c
-index 34024bacc4..74a2190031 100644
---- a/src/shared/util.c
-+++ b/src/shared/util.c
-@@ -5887,7 +5887,7 @@ int same_fd(int a, int b) {
- 
-         /* The fds refer to the same inode on disk, let's also check
-          * if they have the same fd flags. This is useful to
--         * distuingish the read and write side of a pipe created with
-+         * distinguish the read and write side of a pipe created with
-          * pipe(). */
-         fa = fcntl(a, F_GETFL);
-         if (fa < 0)
diff --git a/0012-logind-unlink-run-nologin-when-shutdown-is-cancelled.patch b/0012-logind-unlink-run-nologin-when-shutdown-is-cancelled.patch
deleted file mode 100644
index 76482cd..0000000
--- a/0012-logind-unlink-run-nologin-when-shutdown-is-cancelled.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 0569c6e3c9d19c04eb2614bd8769e5eb32764371 Mon Sep 17 00:00:00 2001
-From: Daniel Mack <daniel@zonque.org>
-Date: Tue, 26 May 2015 18:56:40 +0200
-Subject: [PATCH] logind: unlink /run/nologin when shutdown is cancelled
-
-When a scheduled is cancelled, make sure to remove /run/nologin.
-This is a regression from the recent shutdownd removal and logind rework.
-
-(cherry picked from commit fb91034cf5907bbbabba1e8821b01f3b37aa56d5)
----
- src/login/logind-dbus.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c
-index 1f5cf865b1..3555bcc2f5 100644
---- a/src/login/logind-dbus.c
-+++ b/src/login/logind-dbus.c
-@@ -1964,6 +1964,11 @@ static int method_cancel_scheduled_shutdown(sd_bus_message *message, void *userd
-         m->scheduled_shutdown_type = NULL;
-         m->scheduled_shutdown_timeout = 0;
- 
-+        if (m->unlink_nologin) {
-+                unlink("/run/nologin");
-+                m->unlink_nologin = false;
-+        }
-+
-         if (cancelled) {
-                 _cleanup_bus_creds_unref_ sd_bus_creds *creds = NULL;
-                 const char *tty = NULL;
diff --git a/0013-missing-add-more-IFLA_VXLAN_-defines.patch b/0013-missing-add-more-IFLA_VXLAN_-defines.patch
deleted file mode 100644
index c066251..0000000
--- a/0013-missing-add-more-IFLA_VXLAN_-defines.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 091acba43685c70d0a38d43167f44fe2622b3c15 Mon Sep 17 00:00:00 2001
-From: Michael Olbrich <m.olbrich@pengutronix.de>
-Date: Tue, 26 May 2015 07:48:48 +0200
-Subject: [PATCH] missing: add more IFLA_VXLAN_* defines
-
-Otherwise building faild with kernel headers < v3.16
-
-(cherry picked from commit 583c14fc04a089e9af70a3fa0b8c0a8c27c06ec0)
----
- configure.ac         |  2 +-
- src/shared/missing.h | 11 +++++++++--
- 2 files changed, 10 insertions(+), 3 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 48cedb5ab6..0818dd80cf 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -334,7 +334,7 @@ AC_CHECK_DECLS([IFLA_INET6_ADDR_GEN_MODE,
-                 IFLA_PHYS_PORT_ID,
-                 IFLA_BOND_AD_INFO,
-                 IFLA_VLAN_PROTOCOL,
--                IFLA_VXLAN_LOCAL6,
-+                IFLA_VXLAN_REMCSUM_NOPARTIAL,
-                 IFLA_IPTUN_6RD_RELAY_PREFIXLEN,
-                 IFLA_BRIDGE_VLAN_INFO,
-                 IFLA_BRPORT_UNICAST_FLOOD,
-diff --git a/src/shared/missing.h b/src/shared/missing.h
-index 8ca6f8edb6..9194009491 100644
---- a/src/shared/missing.h
-+++ b/src/shared/missing.h
-@@ -713,7 +713,7 @@ static inline int setns(int fd, int nstype) {
- #define IFLA_VLAN_MAX   (__IFLA_VLAN_MAX - 1)
- #endif
- 
--#if !HAVE_DECL_IFLA_VXLAN_LOCAL6
-+#if !HAVE_DECL_IFLA_VXLAN_REMCSUM_NOPARTIAL
- #define IFLA_VXLAN_UNSPEC 0
- #define IFLA_VXLAN_ID 1
- #define IFLA_VXLAN_GROUP 2
-@@ -732,7 +732,14 @@ static inline int setns(int fd, int nstype) {
- #define IFLA_VXLAN_PORT 15
- #define IFLA_VXLAN_GROUP6 16
- #define IFLA_VXLAN_LOCAL6 17
--#define __IFLA_VXLAN_MAX 18
-+#define IFLA_VXLAN_UDP_CSUM 18
-+#define IFLA_VXLAN_UDP_ZERO_CSUM6_TX 19
-+#define IFLA_VXLAN_UDP_ZERO_CSUM6_RX 20
-+#define IFLA_VXLAN_REMCSUM_TX 21
-+#define IFLA_VXLAN_REMCSUM_RX 22
-+#define IFLA_VXLAN_GBP 23
-+#define IFLA_VXLAN_REMCSUM_NOPARTIAL 24
-+#define __IFLA_VXLAN_MAX 25
- 
- #define IFLA_VXLAN_MAX  (__IFLA_VXLAN_MAX - 1)
- #endif
diff --git a/0014-udevd-fix-SIGCHLD-handling-in-daemon-mode.patch b/0014-udevd-fix-SIGCHLD-handling-in-daemon-mode.patch
deleted file mode 100644
index 12d6ad2..0000000
--- a/0014-udevd-fix-SIGCHLD-handling-in-daemon-mode.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-From 8300a7a170f44490d4e86541fbbad2b90cd52ce0 Mon Sep 17 00:00:00 2001
-From: Tom Gundersen <teg@jklm.no>
-Date: Wed, 27 May 2015 18:39:36 +0200
-Subject: [PATCH] udevd: fix SIGCHLD handling in --daemon mode
-
-We were listening for SIGCHLD in the wrong process.
-
-(cherry picked from commit 86c3bece38bcf55da6387d20c6f01da9ad0284dc)
----
- src/udev/udevd.c | 33 ++++++++++++++++++++++-----------
- 1 file changed, 22 insertions(+), 11 deletions(-)
-
-diff --git a/src/udev/udevd.c b/src/udev/udevd.c
-index 2a9a429e66..b5dadbc8e4 100644
---- a/src/udev/udevd.c
-+++ b/src/udev/udevd.c
-@@ -1289,13 +1289,6 @@ static int parse_argv(int argc, char *argv[]) {
- 
- static int manager_new(Manager **ret) {
-         _cleanup_(manager_freep) Manager *manager = NULL;
--        struct epoll_event ep_ctrl = { .events = EPOLLIN };
--        struct epoll_event ep_inotify = { .events = EPOLLIN };
--        struct epoll_event ep_signal = { .events = EPOLLIN };
--        struct epoll_event ep_netlink = { .events = EPOLLIN };
--        struct epoll_event ep_worker = { .events = EPOLLIN };
--        sigset_t mask;
--        int r, one = 1;
- 
-         assert(ret);
- 
-@@ -1324,6 +1317,23 @@ static int manager_new(Manager **ret) {
-         udev_list_node_init(&manager->events);
-         udev_list_init(manager->udev, &manager->properties, true);
- 
-+        *ret = manager;
-+        manager = NULL;
-+
-+        return 0;
-+}
-+
-+static int manager_listen(Manager *manager) {
-+        struct epoll_event ep_ctrl = { .events = EPOLLIN };
-+        struct epoll_event ep_inotify = { .events = EPOLLIN };
-+        struct epoll_event ep_signal = { .events = EPOLLIN };
-+        struct epoll_event ep_netlink = { .events = EPOLLIN };
-+        struct epoll_event ep_worker = { .events = EPOLLIN };
-+        sigset_t mask;
-+        int r, one = 1;
-+
-+        assert(manager);
-+
-         r = systemd_fds(&manager->fd_ctrl, &manager->fd_uevent);
-         if (r >= 0) {
-                 /* get control and netlink socket from systemd */
-@@ -1405,10 +1415,7 @@ static int manager_new(Manager **ret) {
-             epoll_ctl(manager->fd_ep, EPOLL_CTL_ADD, manager->fd_worker, &ep_worker) < 0)
-                 return log_error_errno(errno, "fail to add fds to epoll: %m");
- 
--        *ret = manager;
--        manager = NULL;
--
--        return 1;
-+        return 0;
- }
- 
- int main(int argc, char *argv[]) {
-@@ -1519,6 +1526,10 @@ int main(int argc, char *argv[]) {
-         } else
-                 sd_notify(1, "READY=1");
- 
-+        r = manager_listen(manager);
-+        if (r < 0)
-+                return log_error_errno(r, "failed to set up fds and listen for events: %m");
-+
-         for (;;) {
-                 static usec_t last_usec;
-                 struct epoll_event ev[8];
diff --git a/0015-sd-device-fix-device_get_properties_strv.patch b/0015-sd-device-fix-device_get_properties_strv.patch
deleted file mode 100644
index 5946951..0000000
--- a/0015-sd-device-fix-device_get_properties_strv.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 864dfcd49d764866a9795ea6e3f39c1f7c85b509 Mon Sep 17 00:00:00 2001
-From: Tom Gundersen <teg@jklm.no>
-Date: Wed, 27 May 2015 23:26:39 +0200
-Subject: [PATCH] sd-device: fix device_get_properties_strv()
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-A NULL pointer was inserted as the first element of the strv.
-
-This had the effect of always passing the empty environment to processes
-spawned by udev.
-
-Reported by Michał Bartoszkiewicz.
-
-(cherry picked from commit 0e3e60561395a8dd0464f9427d7fc9209bf3b007)
----
- src/libsystemd/sd-device/device-private.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/libsystemd/sd-device/device-private.c b/src/libsystemd/sd-device/device-private.c
-index 3cadedbf4a..10370af029 100644
---- a/src/libsystemd/sd-device/device-private.c
-+++ b/src/libsystemd/sd-device/device-private.c
-@@ -659,7 +659,7 @@ static int device_update_properties_bufs(sd_device *device) {
-                 if (!buf_strv)
-                         return -ENOMEM;
- 
--                buf_strv[++ strv_size] = (char *)&buf_nulstr[nulstr_len];
-+                buf_strv[strv_size ++] = (char *)&buf_nulstr[nulstr_len];
-                 strscpyl((char *)buf_nulstr + nulstr_len, len + 1, prop, "=", val, NULL);
-                 nulstr_len += len + 1;
-         }
diff --git a/0016-man-fix-systemd.resource-control-5-volume-number.patch b/0016-man-fix-systemd.resource-control-5-volume-number.patch
deleted file mode 100644
index 14c0a45..0000000
--- a/0016-man-fix-systemd.resource-control-5-volume-number.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 6ef870184fd2952802c72cf8782745fc613aa233 Mon Sep 17 00:00:00 2001
-From: Patrick Donnelly <batrick@batbytes.com>
-Date: Wed, 27 May 2015 15:47:02 -0400
-Subject: [PATCH] man: fix systemd.resource-control(5) volume number
-
-(cherry picked from commit c4e87748d5d3f574d335a87e3a6272276814b2fd)
----
- man/systemd.slice.xml | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/man/systemd.slice.xml b/man/systemd.slice.xml
-index f0bac41763..a501327335 100644
---- a/man/systemd.slice.xml
-+++ b/man/systemd.slice.xml
-@@ -90,7 +90,7 @@
-     slice specific configuration options are configured in
-     the [Slice] section. Currently, only generic resource control settings
-     as described in
--    <citerefentry><refentrytitle>systemd.resource-control</refentrytitle><manvolnum>7</manvolnum></citerefentry> are allowed.
-+    <citerefentry><refentrytitle>systemd.resource-control</refentrytitle><manvolnum>5</manvolnum></citerefentry> are allowed.
-     </para>
- 
-     <para>Unless <varname>DefaultDependencies=false</varname>
diff --git a/0017-sd-device-enumerator-fix-matching-on-properties-and-.patch b/0017-sd-device-enumerator-fix-matching-on-properties-and-.patch
deleted file mode 100644
index 955acd2..0000000
--- a/0017-sd-device-enumerator-fix-matching-on-properties-and-.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From be215abe14beac522e326be14ba44fcf989e4359 Mon Sep 17 00:00:00 2001
-From: Tom Gundersen <teg@jklm.no>
-Date: Thu, 28 May 2015 17:18:33 +0200
-Subject: [PATCH] sd-device: enumerator - fix matching on properties and
- sysattrs
-
-This was a regression that broke
-
-  $ udevadm trigger -nv --property-match=DEVNAME=/dev/sda1 --attr-match=size=409600
-
-Reported by David Reisner.
-
-(cherry picked from commit 5f529f4c97a141457301477505ae7eb4c28cf610)
----
- src/libsystemd/sd-device/device-enumerator.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/src/libsystemd/sd-device/device-enumerator.c b/src/libsystemd/sd-device/device-enumerator.c
-index ce4862d7f0..3692d46e06 100644
---- a/src/libsystemd/sd-device/device-enumerator.c
-+++ b/src/libsystemd/sd-device/device-enumerator.c
-@@ -367,11 +367,11 @@ static bool match_sysattr(sd_device_enumerator *enumerator, sd_device *device) {
-         assert(enumerator);
-         assert(device);
- 
--        HASHMAP_FOREACH_KEY(sysattr, value, enumerator->nomatch_sysattr, i)
-+        HASHMAP_FOREACH_KEY(value, sysattr, enumerator->nomatch_sysattr, i)
-                 if (match_sysattr_value(device, sysattr, value))
-                         return false;
- 
--        HASHMAP_FOREACH_KEY(sysattr, value, enumerator->match_sysattr, i)
-+        HASHMAP_FOREACH_KEY(value, sysattr, enumerator->match_sysattr, i)
-                 if (!match_sysattr_value(device, sysattr, value))
-                         return false;
- 
-@@ -389,7 +389,7 @@ static bool match_property(sd_device_enumerator *enumerator, sd_device *device)
-         if (hashmap_isempty(enumerator->match_property))
-                 return true;
- 
--        HASHMAP_FOREACH_KEY(property, value, enumerator->match_property, i) {
-+        HASHMAP_FOREACH_KEY(value, property, enumerator->match_property, i) {
-                 const char *property_dev, *value_dev;
- 
-                 FOREACH_DEVICE_PROPERTY(device, property_dev, value_dev) {
diff --git a/0018-build-sys-fix-typo.patch b/0018-build-sys-fix-typo.patch
deleted file mode 100644
index 9c7aab8..0000000
--- a/0018-build-sys-fix-typo.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From bb3f5d2012812ff6ce56ca3139e17c488b7ca30b Mon Sep 17 00:00:00 2001
-From: Karel Zak <kzak@redhat.com>
-Date: Fri, 29 May 2015 13:42:35 +0200
-Subject: [PATCH] build-sys: fix typo
-
-There is nothing like systemd_verify_* in Makefile.am. The bug has
-been invisible because automake uses the default CFLAGS when component
-CFLAGS are undefined.
-
-(cherry picked from commit 144b1b4b34b6ae20a690e31c3d14dbb96341448b)
----
- Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index dd1e9e4e48..5310a30284 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -2132,7 +2132,7 @@ systemd_analyze_SOURCES = \
- 	src/analyze/analyze-verify.c \
- 	src/analyze/analyze-verify.h
- 
--systemd_verify_CFLAGS = \
-+systemd_analyze_CFLAGS = \
- 	$(AM_CFLAGS) \
- 	$(SECCOMP_CFLAGS)
- 
diff --git a/0019-path-util-Fix-path_is_mount_point-for-files.patch b/0019-path-util-Fix-path_is_mount_point-for-files.patch
deleted file mode 100644
index 5eb6f40..0000000
--- a/0019-path-util-Fix-path_is_mount_point-for-files.patch
+++ /dev/null
@@ -1,270 +0,0 @@
-From 117a45829a6be1ef728616c3c90fc8c6f9eda318 Mon Sep 17 00:00:00 2001
-From: Martin Pitt <martin.pitt@ubuntu.com>
-Date: Wed, 27 May 2015 09:56:03 +0200
-Subject: [PATCH] path-util: Fix path_is_mount_point for files
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Commits 27cc6f166 and f25afeb broke path_is_mount_point() for files (such as
-/etc/machine-id → /run/machine-id bind mounts) as with the factorization of
-fd_is_mount_point() we lost the parent directory. We cannot determine that from
-an fd only as openat(fd, "..") only works for directory fds.
-
-Change fd_is_mount_point() to behave like openat(): It now takes a file
-descriptor of the containing directory, a file name in it, and flags (which can
-be 0 or AT_SYMLINK_FOLLOW). Unlike name_to_handle_at() or openat(), fstatat()
-only accepts the inverse flag AT_SYMLINK_NOFOLLOW and complains with EINVAL
-about AT_SYMLINK_FOLLOW; so we need to transform the flags for that fallback.
-
-Adjust rm_rf_children() accordingly (only other caller of fd_is_mount_point()
-aside from path_is_mount_point()).
-
-Add test cases for files, links, and file bind mounts (the latter will only
-work when running as root). Split out a new test_path_is_mount_point() test
-case function as it got significantly larger now.
-
-(cherry picked from commit 5d409034017e9f9f8c4392157d95511fc2e05d87)
----
- src/shared/path-util.c    | 31 +++++++++++++------
- src/shared/path-util.h    |  2 +-
- src/shared/rm-rf.c        |  2 +-
- src/test/test-path-util.c | 76 +++++++++++++++++++++++++++++++++++++++--------
- 4 files changed, 87 insertions(+), 24 deletions(-)
-
-diff --git a/src/shared/path-util.c b/src/shared/path-util.c
-index 7090989fcb..8be479cd7f 100644
---- a/src/shared/path-util.c
-+++ b/src/shared/path-util.c
-@@ -509,7 +509,7 @@ static int fd_fdinfo_mnt_id(int fd, const char *filename, int flags, int *mnt_id
-         return safe_atoi(p, mnt_id);
- }
- 
--int fd_is_mount_point(int fd) {
-+int fd_is_mount_point(int fd, const char *filename, int flags) {
-         union file_handle_union h = FILE_HANDLE_INIT, h_parent = FILE_HANDLE_INIT;
-         int mount_id = -1, mount_id_parent = -1;
-         bool nosupp = false, check_st_dev = true;
-@@ -517,6 +517,7 @@ int fd_is_mount_point(int fd) {
-         int r;
- 
-         assert(fd >= 0);
-+        assert(filename);
- 
-         /* First we will try the name_to_handle_at() syscall, which
-          * tells us the mount id and an opaque file "handle". It is
-@@ -541,7 +542,7 @@ int fd_is_mount_point(int fd) {
-          * subvolumes have different st_dev, even though they aren't
-          * real mounts of their own. */
- 
--        r = name_to_handle_at(fd, "", &h.handle, &mount_id, AT_EMPTY_PATH);
-+        r = name_to_handle_at(fd, filename, &h.handle, &mount_id, flags);
-         if (r < 0) {
-                 if (errno == ENOSYS)
-                         /* This kernel does not support name_to_handle_at()
-@@ -558,7 +559,7 @@ int fd_is_mount_point(int fd) {
-                         return -errno;
-         }
- 
--        r = name_to_handle_at(fd, "..", &h_parent.handle, &mount_id_parent, 0);
-+        r = name_to_handle_at(fd, "", &h_parent.handle, &mount_id_parent, AT_EMPTY_PATH);
-         if (r < 0) {
-                 if (errno == EOPNOTSUPP) {
-                         if (nosupp)
-@@ -593,13 +594,13 @@ int fd_is_mount_point(int fd) {
-         return mount_id != mount_id_parent;
- 
- fallback_fdinfo:
--        r = fd_fdinfo_mnt_id(fd, "", AT_EMPTY_PATH, &mount_id);
-+        r = fd_fdinfo_mnt_id(fd, filename, flags, &mount_id);
-         if (r == -EOPNOTSUPP)
-                 goto fallback_fstat;
-         if (r < 0)
-                 return r;
- 
--        r = fd_fdinfo_mnt_id(fd, "..", 0, &mount_id_parent);
-+        r = fd_fdinfo_mnt_id(fd, "", AT_EMPTY_PATH, &mount_id_parent);
-         if (r < 0)
-                 return r;
- 
-@@ -615,10 +616,16 @@ fallback_fdinfo:
-         check_st_dev = false;
- 
- fallback_fstat:
--        if (fstatat(fd, "", &a, AT_EMPTY_PATH) < 0)
-+        /* yay for fstatat() taking a different set of flags than the other
-+         * _at() above */
-+        if (flags & AT_SYMLINK_FOLLOW)
-+                flags &= ~AT_SYMLINK_FOLLOW;
-+        else
-+                flags |= AT_SYMLINK_NOFOLLOW;
-+        if (fstatat(fd, filename, &a, flags) < 0)
-                 return -errno;
- 
--        if (fstatat(fd, "..", &b, 0) < 0)
-+        if (fstatat(fd, "", &b, AT_EMPTY_PATH) < 0)
-                 return -errno;
- 
-         /* A directory with same device and inode as its parent? Must
-@@ -632,17 +639,23 @@ fallback_fstat:
- 
- int path_is_mount_point(const char *t, bool allow_symlink) {
-         _cleanup_close_ int fd = -1;
-+        _cleanup_free_ char *parent = NULL;
-+        int r;
- 
-         assert(t);
- 
-         if (path_equal(t, "/"))
-                 return 1;
- 
--        fd = openat(AT_FDCWD, t, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC|(allow_symlink ? 0 : O_PATH));
-+        r = path_get_parent(t, &parent);
-+        if (r < 0)
-+                return r;
-+
-+        fd = openat(AT_FDCWD, parent, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC|O_PATH);
-         if (fd < 0)
-                 return -errno;
- 
--        return fd_is_mount_point(fd);
-+        return fd_is_mount_point(fd, basename(t), (allow_symlink ? AT_SYMLINK_FOLLOW : 0));
- }
- 
- int path_is_read_only_fs(const char *path) {
-diff --git a/src/shared/path-util.h b/src/shared/path-util.h
-index 4f45cfd2b7..38ad799ba0 100644
---- a/src/shared/path-util.h
-+++ b/src/shared/path-util.h
-@@ -53,7 +53,7 @@ char** path_strv_make_absolute_cwd(char **l);
- char** path_strv_resolve(char **l, const char *prefix);
- char** path_strv_resolve_uniq(char **l, const char *prefix);
- 
--int fd_is_mount_point(int fd);
-+int fd_is_mount_point(int fd, const char *filename, int flags);
- int path_is_mount_point(const char *path, bool allow_symlink);
- int path_is_read_only_fs(const char *path);
- int path_is_os_tree(const char *path);
-diff --git a/src/shared/rm-rf.c b/src/shared/rm-rf.c
-index a89e8afc2a..bafd483be2 100644
---- a/src/shared/rm-rf.c
-+++ b/src/shared/rm-rf.c
-@@ -103,7 +103,7 @@ int rm_rf_children(int fd, RemoveFlags flags, struct stat *root_dev) {
-                         }
- 
-                         /* Stop at mount points */
--                        r = fd_is_mount_point(subdir_fd);
-+                        r = fd_is_mount_point(fd, de->d_name, 0);
-                         if (r < 0) {
-                                 if (ret == 0 && r != -ENOENT)
-                                         ret = r;
-diff --git a/src/test/test-path-util.c b/src/test/test-path-util.c
-index 09f0f2f89e..80782ff902 100644
---- a/src/test/test-path-util.c
-+++ b/src/test/test-path-util.c
-@@ -21,6 +21,7 @@
- 
- #include <stdio.h>
- #include <unistd.h>
-+#include <sys/mount.h>
- 
- #include "path-util.h"
- #include "util.h"
-@@ -88,21 +89,9 @@ static void test_path(void) {
-         test_parent("/aa///file...", "/aa///");
-         test_parent("file.../", NULL);
- 
--        assert_se(path_is_mount_point("/", true) > 0);
--        assert_se(path_is_mount_point("/", false) > 0);
--
-         fd = open("/", O_RDONLY|O_CLOEXEC|O_DIRECTORY|O_NOCTTY);
-         assert_se(fd >= 0);
--        assert_se(fd_is_mount_point(fd) > 0);
--
--        assert_se(path_is_mount_point("/proc", true) > 0);
--        assert_se(path_is_mount_point("/proc", false) > 0);
--
--        assert_se(path_is_mount_point("/proc/1", true) == 0);
--        assert_se(path_is_mount_point("/proc/1", false) == 0);
--
--        assert_se(path_is_mount_point("/sys", true) > 0);
--        assert_se(path_is_mount_point("/sys", false) > 0);
-+        assert_se(fd_is_mount_point(fd, "/", 0) > 0);
- 
-         {
-                 char p1[] = "aaa/bbb////ccc";
-@@ -322,6 +311,66 @@ static void test_prefix_root(void) {
-         test_prefix_root_one("/foo///", "//bar", "/foo/bar");
- }
- 
-+static void test_path_is_mount_point(void) {
-+        int fd, rt, rf, rlt, rlf;
-+        char tmp_dir[] = "/tmp/test-path-is-mount-point-XXXXXX";
-+        _cleanup_free_ char *file1 = NULL, *file2 = NULL, *link1 = NULL, *link2 = NULL;
-+
-+        assert_se(path_is_mount_point("/", true) > 0);
-+        assert_se(path_is_mount_point("/", false) > 0);
-+
-+        assert_se(path_is_mount_point("/proc", true) > 0);
-+        assert_se(path_is_mount_point("/proc", false) > 0);
-+
-+        assert_se(path_is_mount_point("/proc/1", true) == 0);
-+        assert_se(path_is_mount_point("/proc/1", false) == 0);
-+
-+        assert_se(path_is_mount_point("/sys", true) > 0);
-+        assert_se(path_is_mount_point("/sys", false) > 0);
-+
-+        /* file mountpoints */
-+        assert_se(mkdtemp(tmp_dir) != NULL);
-+        file1 = path_join(NULL, tmp_dir, "file1");
-+        assert_se(file1);
-+        file2 = path_join(NULL, tmp_dir, "file2");
-+        assert_se(file2);
-+        fd = open(file1, O_WRONLY|O_CREAT|O_EXCL|O_CLOEXEC, 0664);
-+        assert_se(fd > 0);
-+        close(fd);
-+        fd = open(file2, O_WRONLY|O_CREAT|O_EXCL|O_CLOEXEC, 0664);
-+        assert_se(fd > 0);
-+        close(fd);
-+        link1 = path_join(NULL, tmp_dir, "link1");
-+        assert_se(link1);
-+        assert_se(symlink("file1", link1) == 0);
-+        link2 = path_join(NULL, tmp_dir, "link2");
-+        assert_se(link1);
-+        assert_se(symlink("file2", link2) == 0);
-+
-+        assert_se(path_is_mount_point(file1, true) == 0);
-+        assert_se(path_is_mount_point(file1, false) == 0);
-+        assert_se(path_is_mount_point(link1, true) == 0);
-+        assert_se(path_is_mount_point(link1, false) == 0);
-+
-+        /* this test will only work as root */
-+        if (mount(file1, file2, NULL, MS_BIND, NULL) >= 0) {
-+                rf = path_is_mount_point(file2, false);
-+                rt = path_is_mount_point(file2, true);
-+                rlf = path_is_mount_point(link2, false);
-+                rlt = path_is_mount_point(link2, true);
-+
-+                assert_se(umount(file2) == 0);
-+
-+                assert_se(rf == 1);
-+                assert_se(rt == 1);
-+                assert_se(rlf == 0);
-+                assert_se(rlt == 1);
-+        } else
-+                printf("Skipping bind mount file test: %m\n");
-+
-+        assert_se(rm_rf(tmp_dir, REMOVE_ROOT|REMOVE_PHYSICAL) == 0);
-+}
-+
- int main(int argc, char **argv) {
-         test_path();
-         test_find_binary(argv[0], true);
-@@ -333,6 +382,7 @@ int main(int argc, char **argv) {
-         test_strv_resolve();
-         test_path_startswith();
-         test_prefix_root();
-+        test_path_is_mount_point();
- 
-         return 0;
- }
diff --git a/0020-rules-fix-typo-in-block-watch-rule.patch b/0020-rules-fix-typo-in-block-watch-rule.patch
deleted file mode 100644
index d1b2fbd..0000000
--- a/0020-rules-fix-typo-in-block-watch-rule.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 4fa8d70f0e914346c2a46c05bbb356eaae7d527c Mon Sep 17 00:00:00 2001
-From: Tom Gundersen <teg@jklm.no>
-Date: Fri, 29 May 2015 19:59:24 +0200
-Subject: [PATCH] rules: fix typo in block watch rule
-
-The intention was to turn this rule from using a blacklist to a whitelist, but
-there was a stray '!'.
-
-(cherry picked from commit f07689517e3715d03590e779841647aed0cd2ba7)
----
- rules/60-block.rules | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/rules/60-block.rules b/rules/60-block.rules
-index de41499cb7..cfd5010bbd 100644
---- a/rules/60-block.rules
-+++ b/rules/60-block.rules
-@@ -8,4 +8,4 @@ ACTION=="add", SUBSYSTEM=="module", KERNEL=="block", ATTR{parameters/events_dfl_
- ACTION=="change", SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST=="block", ATTR{block/*/uevent}="change"
- 
- # watch metadata changes, caused by tools closing the device node which was opened for writing
--ACTION=="add", SUBSYSTEM=="block", KERNEL!="loop*|nvme*|sd*|vd*", OPTIONS+="watch"
-+ACTION=="add", SUBSYSTEM=="block", KERNEL=="loop*|nvme*|sd*|vd*", OPTIONS+="watch"
diff --git a/0021-rules-restore-block-watch-after-CHANGE-events.patch b/0021-rules-restore-block-watch-after-CHANGE-events.patch
deleted file mode 100644
index e58de65..0000000
--- a/0021-rules-restore-block-watch-after-CHANGE-events.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From d854d0f65a7fa84bed1703a36a7f15aff40aa6ca Mon Sep 17 00:00:00 2001
-From: Tom Gundersen <teg@jklm.no>
-Date: Fri, 29 May 2015 20:55:39 +0200
-Subject: [PATCH] rules: restore block watch after CHANGE events
-
-When processing an event, the watch is disabled, make sure it is restorted after
-a CHANGE event has been processed.
-
-(cherry picked from commit b50063512d4be4d29e0ca5d28f66bc1121861e3b)
----
- rules/60-block.rules | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/rules/60-block.rules b/rules/60-block.rules
-index cfd5010bbd..a69d648023 100644
---- a/rules/60-block.rules
-+++ b/rules/60-block.rules
-@@ -8,4 +8,4 @@ ACTION=="add", SUBSYSTEM=="module", KERNEL=="block", ATTR{parameters/events_dfl_
- ACTION=="change", SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST=="block", ATTR{block/*/uevent}="change"
- 
- # watch metadata changes, caused by tools closing the device node which was opened for writing
--ACTION=="add", SUBSYSTEM=="block", KERNEL=="loop*|nvme*|sd*|vd*", OPTIONS+="watch"
-+ACTION!="remove", SUBSYSTEM=="block", KERNEL=="loop*|nvme*|sd*|vd*", OPTIONS+="watch"
diff --git a/0022-zsh-completion-update-bootctl.patch b/0022-zsh-completion-update-bootctl.patch
deleted file mode 100644
index 93f7ff4..0000000
--- a/0022-zsh-completion-update-bootctl.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 4ee8c1c46cdb745db3e62dfc8e945dc73427ba04 Mon Sep 17 00:00:00 2001
-From: Ronny Chevalier <chevalier.ronny@gmail.com>
-Date: Sun, 24 May 2015 13:25:52 +0200
-Subject: [PATCH] zsh-completion: update bootctl
-
-(cherry picked from commit da090dfd0b6a86694084ebc27645ead3f25ef0b6)
----
- shell-completion/zsh/_bootctl | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/shell-completion/zsh/_bootctl b/shell-completion/zsh/_bootctl
-index 7d2453cc2c..ce776c052f 100644
---- a/shell-completion/zsh/_bootctl
-+++ b/shell-completion/zsh/_bootctl
-@@ -4,7 +4,10 @@
- {
-     local -a _bootctl_cmds
-     _bootctl_cmds=(
--        "status:Show current firmware and boot settings"
-+        "status:Show status of installed systemd-boot and EFI variables"
-+        "instal:Install systemd-boot to the ESP and EFI variables"
-+        "update:Update systemd-boot in the ESP and EFI variables"
-+        "remove:Remove systemd-boot from the ESP and EFI variables"
-     )
-     if (( CURRENT == 1 )); then
-         _describe -t commands 'bootctl command' _bootctl_cmds || compadd "$@"
-@@ -22,4 +25,6 @@
- _arguments \
-     {-h,--help}'[Prints a short help text and exits.]' \
-     '--version[Prints a short version string and exits.]' \
-+    '--path=[Path to the EFI System Partition (ESP)]:path:_directories' \
-+    '--no-variables[Do not touch EFI variables]' \
-     '*::bootctl command:_bootctl_command'
diff --git a/0023-README-fix-typo.patch b/0023-README-fix-typo.patch
deleted file mode 100644
index 98909b7..0000000
--- a/0023-README-fix-typo.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From ed341dc136505c1919d34d2ef24d48370c2d3368 Mon Sep 17 00:00:00 2001
-From: Ronny Chevalier <chevalier.ronny@gmail.com>
-Date: Sat, 30 May 2015 10:31:41 +0200
-Subject: [PATCH] README: fix typo
-
-(cherry picked from commit 8f42ccd24ba3cbdb994094df4aac69a00c3c7367)
----
- README | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/README b/README
-index 039110e880..b909b434db 100644
---- a/README
-+++ b/README
-@@ -239,7 +239,7 @@ WARNINGS:
-         supported anymore by the basic set of Linux OS components.
- 
-         systemd requires that the /run mount point exists. systemd also
--        requires that /var/run is a a symlink to /run.
-+        requires that /var/run is a symlink to /run.
- 
-         For more information on this issue consult
-         http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken
diff --git a/0024-networkctl-fix-uninitialized-variable.patch b/0024-networkctl-fix-uninitialized-variable.patch
deleted file mode 100644
index fa38dc4..0000000
--- a/0024-networkctl-fix-uninitialized-variable.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From fb9a5b5144ab5654197cd9dab7a339976f10450b Mon Sep 17 00:00:00 2001
-From: Ronny Chevalier <chevalier.ronny@gmail.com>
-Date: Sat, 30 May 2015 10:51:41 +0200
-Subject: [PATCH] networkctl: fix uninitialized variable
-
-We ignore the return value of sd_device_get_devtype, then devtype could
-be uninitialized when used with streq_ptr. So we need to initialize it
-first.
-
-(cherry picked from commit 732b7f39a2b3b1a2af90102c6262186ae71197ac)
----
- src/network/networkctl.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/network/networkctl.c b/src/network/networkctl.c
-index 69b4ab4a5c..3454394977 100644
---- a/src/network/networkctl.c
-+++ b/src/network/networkctl.c
-@@ -62,7 +62,7 @@ static int link_get_type_string(int iftype, sd_device *d, char **ret) {
-         assert(ret);
- 
-         if (iftype == ARPHRD_ETHER && d) {
--                const char *devtype, *id = NULL;
-+                const char *devtype = NULL, *id = NULL;
-                 /* WLANs have iftype ARPHRD_ETHER, but we want
-                  * to show a more useful type string for
-                  * them */
diff --git a/0025-conf-parser-parsing-error-logs-should-show-a-type-no.patch b/0025-conf-parser-parsing-error-logs-should-show-a-type-no.patch
deleted file mode 100644
index 09223f2..0000000
--- a/0025-conf-parser-parsing-error-logs-should-show-a-type-no.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 4cdc2411e6d31879ac3409ccd8cdd5eebee9ed35 Mon Sep 17 00:00:00 2001
-From: Ronny Chevalier <chevalier.ronny@gmail.com>
-Date: Sat, 30 May 2015 12:21:26 +0200
-Subject: [PATCH] conf-parser: parsing error logs should show a type not a
- vartype
-
-Instead of this:
-[filename:1] Failed to parse nsec_t value, ignoring: garbage
-
-we show this:
-[filename:1] Failed to parse nsec value, ignoring: garbage
-
-(cherry picked from commit 98d75800461c091e95398936ceb1efc2d5a3f699)
----
- src/shared/conf-parser.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c
-index 2c855157a9..7370c786f9 100644
---- a/src/shared/conf-parser.c
-+++ b/src/shared/conf-parser.c
-@@ -444,7 +444,7 @@ int config_parse_many(const char *conf_file,
-                 if (r < 0)                                              \
-                         log_syntax(unit, LOG_ERR, filename, line, -r,   \
-                                    "Failed to parse %s value, ignoring: %s", \
--                                   #vartype, rvalue);                   \
-+                                   #type, rvalue);                      \
-                                                                         \
-                 return 0;                                               \
-         }
diff --git a/0026-core-namespace-Protect-usr-instead-of-home-with-Prot.patch b/0026-core-namespace-Protect-usr-instead-of-home-with-Prot.patch
deleted file mode 100644
index 6319d12..0000000
--- a/0026-core-namespace-Protect-usr-instead-of-home-with-Prot.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 33d3e88a8015c16b0d8c908b094c0fbc4dfcf2bb Mon Sep 17 00:00:00 2001
-From: Jason Pleau <jason@jpleau.ca>
-Date: Sun, 31 May 2015 12:51:17 -0400
-Subject: [PATCH] core/namespace: Protect /usr instead of /home with
- ProtectSystem=yes
-
-A small typo in ee818b8 caused /home to be put in read-only instead of
-/usr when ProtectSystem was enabled (ie: not set to "no").
-
-(cherry picked from commit d38e01dc96c5cae1986561c4f3bc7f760560bf2a)
----
- src/core/namespace.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/core/namespace.c b/src/core/namespace.c
-index 7d0b7e7e84..01a817bf23 100644
---- a/src/core/namespace.c
-+++ b/src/core/namespace.c
-@@ -499,7 +499,7 @@ int setup_namespace(
-                 if (protect_system != PROTECT_SYSTEM_NO) {
-                         const char *usr_dir, *boot_dir, *etc_dir;
- 
--                        usr_dir = prefix_roota(root_directory, "/home");
-+                        usr_dir = prefix_roota(root_directory, "/usr");
-                         boot_dir = prefix_roota(root_directory, "/boot");
-                         boot_dir = strjoina("-", boot_dir);
-                         etc_dir = prefix_roota(root_directory, "/etc");
diff --git a/0027-udev-Bring-back-persistant-storage-symlinks-for-bcac.patch b/0027-udev-Bring-back-persistant-storage-symlinks-for-bcac.patch
deleted file mode 100644
index f92e526..0000000
--- a/0027-udev-Bring-back-persistant-storage-symlinks-for-bcac.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 73f05f079d5e319e8296683399a2548a37dadc5a Mon Sep 17 00:00:00 2001
-From: David Mohr <david@mcbf.net>
-Date: Mon, 1 Jun 2015 08:10:28 +0200
-Subject: [PATCH] udev: Bring back persistant storage symlinks for bcache
-
-https://bugs.debian.org/787367
-(cherry picked from commit 19672f1e5fd23ec3ea5b93b8268ae07f2b8e9645)
----
- rules/60-persistent-storage.rules | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/rules/60-persistent-storage.rules b/rules/60-persistent-storage.rules
-index 3f803ceb9a..2aa15f3411 100644
---- a/rules/60-persistent-storage.rules
-+++ b/rules/60-persistent-storage.rules
-@@ -6,7 +6,7 @@
- ACTION=="remove", GOTO="persistent_storage_end"
- 
- SUBSYSTEM!="block", GOTO="persistent_storage_end"
--KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|sd*|sr*|vd*", GOTO="persistent_storage_end"
-+KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|sd*|sr*|vd*|bcache*", GOTO="persistent_storage_end"
- 
- # ignore partitions that span the entire disk
- TEST=="whole_disk", GOTO="persistent_storage_end"
diff --git a/0028-sd-device-fix-invalid-property-strv-pointers.patch b/0028-sd-device-fix-invalid-property-strv-pointers.patch
deleted file mode 100644
index 5c2b063..0000000
--- a/0028-sd-device-fix-invalid-property-strv-pointers.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From d6e771a1936f54ff1693d84625de57b199bd6c6f Mon Sep 17 00:00:00 2001
-From: Martin Pitt <martin.pitt@ubuntu.com>
-Date: Mon, 1 Jun 2015 11:32:39 +0200
-Subject: [PATCH] sd-device: fix invalid property strv pointers
-
-In device_update_properties_bufs(), the strv is built from pointers into the
-single nul-terminated buf_nulstr string, to avoid allocating the key=value
-strings twice. However, we must not do that while building and
-GREEDY_REALLOC0()'ing buf_nulstr, as each time when this actually reallocates
-memory the pointers we wrote into buf_strv so far become invalid.
-
-So change the logic to first completely build the new buf_nulstr, and then
-iterate over it to pick out the pointers to the individual key=value strings
-for properties_strv.
-
-This fixes invalid environment for udev callouts.
-
-(cherry picked from commit d854ba50a82f28b776c670d27156f0e9881fde8a)
----
- src/libsystemd/sd-device/device-private.c | 23 +++++++++++++----------
- 1 file changed, 13 insertions(+), 10 deletions(-)
-
-diff --git a/src/libsystemd/sd-device/device-private.c b/src/libsystemd/sd-device/device-private.c
-index 10370af029..deb8efd05d 100644
---- a/src/libsystemd/sd-device/device-private.c
-+++ b/src/libsystemd/sd-device/device-private.c
-@@ -636,10 +636,9 @@ int device_new_from_nulstr(sd_device **ret, uint8_t *nulstr, size_t len) {
- 
- static int device_update_properties_bufs(sd_device *device) {
-         const char *val, *prop;
--        char **buf_strv = NULL;
-         uint8_t *buf_nulstr = NULL;
--        size_t allocated_nulstr = 0, allocated_strv = 0;
--        size_t nulstr_len = 0, strv_size = 0;
-+        size_t allocated_nulstr = 0;
-+        size_t nulstr_len = 0, num = 0, i;
- 
-         assert(device);
- 
-@@ -655,20 +654,24 @@ static int device_update_properties_bufs(sd_device *device) {
-                 if (!buf_nulstr)
-                         return -ENOMEM;
- 
--                buf_strv = GREEDY_REALLOC0(buf_strv, allocated_strv, strv_size + 2);
--                if (!buf_strv)
--                        return -ENOMEM;
--
--                buf_strv[strv_size ++] = (char *)&buf_nulstr[nulstr_len];
-                 strscpyl((char *)buf_nulstr + nulstr_len, len + 1, prop, "=", val, NULL);
-                 nulstr_len += len + 1;
-+                ++num;
-         }
- 
-         free(device->properties_nulstr);
--        free(device->properties_strv);
-         device->properties_nulstr = buf_nulstr;
-         device->properties_nulstr_len = nulstr_len;
--        device->properties_strv = buf_strv;
-+
-+        /* build strv from buf_nulstr */
-+        free(device->properties_strv);
-+        device->properties_strv = new0(char *, num + 1);
-+        i = 0;
-+        NULSTR_FOREACH(val, (char*) buf_nulstr) {
-+                device->properties_strv[i] = (char *) val;
-+                assert(i < num);
-+                i++;
-+        }
- 
-         device->properties_buf_outdated = false;
- 
diff --git a/0029-zsh-completion-fix-typo-in-_bootctl.patch b/0029-zsh-completion-fix-typo-in-_bootctl.patch
deleted file mode 100644
index 02363ea..0000000
--- a/0029-zsh-completion-fix-typo-in-_bootctl.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 3010a30dcc0ac493fcfe485a8ad1ff483fa0a01d Mon Sep 17 00:00:00 2001
-From: Daniel Mack <daniel@zonque.org>
-Date: Mon, 1 Jun 2015 12:06:07 +0200
-Subject: [PATCH] zsh-completion: fix typo in _bootctl
-
-The command is 'install', not 'instal'. Fix that typo.
-
-(cherry picked from commit c521a430fd6027d55f96516bc2f7570f5997e137)
----
- shell-completion/zsh/_bootctl | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/shell-completion/zsh/_bootctl b/shell-completion/zsh/_bootctl
-index ce776c052f..0e1b0a5562 100644
---- a/shell-completion/zsh/_bootctl
-+++ b/shell-completion/zsh/_bootctl
-@@ -5,7 +5,7 @@
-     local -a _bootctl_cmds
-     _bootctl_cmds=(
-         "status:Show status of installed systemd-boot and EFI variables"
--        "instal:Install systemd-boot to the ESP and EFI variables"
-+        "install:Install systemd-boot to the ESP and EFI variables"
-         "update:Update systemd-boot in the ESP and EFI variables"
-         "remove:Remove systemd-boot from the ESP and EFI variables"
-     )
diff --git a/0030-load-fragment-use-UNESCAPE_RELAX-flag-to-parse-exec-.patch b/0030-load-fragment-use-UNESCAPE_RELAX-flag-to-parse-exec-.patch
deleted file mode 100644
index 2994d1a..0000000
--- a/0030-load-fragment-use-UNESCAPE_RELAX-flag-to-parse-exec-.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From df78ada3b4543af43e4059d0185e3cfd007a9899 Mon Sep 17 00:00:00 2001
-From: Daniel Mack <daniel@zonque.org>
-Date: Mon, 1 Jun 2015 17:49:04 +0200
-Subject: [PATCH] load-fragment: use UNESCAPE_RELAX flag to parse exec
- directives
-
-The cunescape() helper function used to handle unknown escaping sequences
-gracefully by copying them over verbatim.
-
-Commit 527b7a42 ("util: rework cunescape(), improve error handling") added
-a flag to make that behavior optional, and changed to default to error out
-with -EINVAL otherwise.
-
-However, config_parse_exec(), which is used to parse the
-Exec{Start,Stop}{Post,Pre,} directives of unit files, was not changed along
-with that commit, which means that directives with improperly escaped
-command line strings are no longer parsed.
-
-Relevant bugreports include:
-
-  https://bugs.freedesktop.org/show_bug.cgi?id=90794
-  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=787256
-
-Fix this by passing UNESCAPE_RELAX to config_parse_exec() in order to
-restore the original behavior.
-
-(cherry picked from commit 22874a348fb1540c1a2b7907748fc57c9756a7ed)
----
- src/core/load-fragment.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/core/load-fragment.c b/src/core/load-fragment.c
-index 9415e92c90..b09481a16b 100644
---- a/src/core/load-fragment.c
-+++ b/src/core/load-fragment.c
-@@ -609,7 +609,7 @@ int config_parse_exec(
-                         else
-                                 skip = strneq(word, "\\;", MAX(l, 1U));
- 
--                        r = cunescape_length(word + skip, l - skip, 0, &c);
-+                        r = cunescape_length(word + skip, l - skip, UNESCAPE_RELAX, &c);
-                         if (r < 0) {
-                                 log_syntax(unit, LOG_ERR, filename, line, r, "Failed to unescape command line, ignoring: %s", rvalue);
-                                 r = 0;
diff --git a/0031-test-unit-file-add-test-for-improperly-escaped-exec-.patch b/0031-test-unit-file-add-test-for-improperly-escaped-exec-.patch
deleted file mode 100644
index c1c9e46..0000000
--- a/0031-test-unit-file-add-test-for-improperly-escaped-exec-.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From f5fe08ec458eea4308f807ade0cbf9a5af663f30 Mon Sep 17 00:00:00 2001
-From: Daniel Mack <daniel@zonque.org>
-Date: Mon, 1 Jun 2015 18:05:02 +0200
-Subject: [PATCH] test-unit-file: add test for improperly escaped exec string
-
-Add a regression test for the recent breakage of handling improperly
-escaped exec strings in unit files.
-
-Code contributed by Martin Pitt:
-
-  https://bugs.freedesktop.org/show_bug.cgi?id=90794
-
-(cherry picked from commit 80979f1ce4dadf797a42e85a97dc10960c1f6509)
----
- src/test/test-unit-file.c | 19 +++++++++++++++++++
- 1 file changed, 19 insertions(+)
-
-diff --git a/src/test/test-unit-file.c b/src/test/test-unit-file.c
-index a9711ac9f5..31b12d50d7 100644
---- a/src/test/test-unit-file.c
-+++ b/src/test/test-unit-file.c
-@@ -225,6 +225,15 @@ static void test_config_parse_exec(void) {
-         check_execcommand(c1,
-                           "/sbin/find", NULL, ";", "x", false);
- 
-+        log_info("/* encoded semicolon */");
-+        r = config_parse_exec(NULL, "fake", 5, "section", 1,
-+                              "LValue", 0,
-+                              "/bin/find \\073",
-+                              &c, NULL);
-+        assert_se(r >= 0);
-+        c1 = c1->command_next;
-+        check_execcommand(c1, "/bin/find", NULL, "\\073", NULL, false);
-+
-         log_info("/* spaces in the filename */");
-         r = config_parse_exec(NULL, "fake", 5, "section", 1,
-                               "LValue", 0,
-@@ -296,6 +305,16 @@ static void test_config_parse_exec(void) {
-         c1 = c1->command_next;
-         check_execcommand(c1, "/path ", NULL, NULL, NULL, false);
- 
-+        log_info("/* quoted backslashes */");
-+        r = config_parse_exec(NULL, "fake", 5, "section", 1,
-+                              "LValue", 0,
-+                              "/bin/grep '\\w+\\K'",
-+                              &c, NULL);
-+        assert_se(r >= 0);
-+        c1 = c1->command_next;
-+        check_execcommand(c1, "/bin/grep", NULL, "\\w+\\K", NULL, false);
-+
-+
-         log_info("/* trailing backslash: \\ */");
-         /* backslash is invalid */
-         r = config_parse_exec(NULL, "fake", 4, "section", 1,
diff --git a/0032-Separate-the-sign-from-the-number.patch b/0032-Separate-the-sign-from-the-number.patch
deleted file mode 100644
index e5f2047..0000000
--- a/0032-Separate-the-sign-from-the-number.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From e4cf1e16e72e94f794fb058571acaae9fdbbacd9 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Pablo=20Lezaeta=20Reyes=20=5Bp=CB=88a=CE=B2=CC=9Elo=20l?=
- =?UTF-8?q?=CB=8Ce=CC=9E=CE=B8a=CB=88eta=20r=CB=88ej=C9=9B=5D?=
- <prflr88@gmail.com>
-Date: Tue, 31 Mar 2015 02:47:39 -0300
-Subject: [PATCH] Separate the % sign from the number
-
-In spanish the % sign is supposed to be separated from the number [1 and 2 both in spanish] so I separated the %% that draw the percentage sign from the number.
-
-[1] http://www.fundeu.es/recomendacion/el-se-escribe-separado-de-la-cifra-a-la-que-acompana-802/
-[2] http://aplica.rae.es/orweb/cgi-bin/v.cgi?i=QGkHLBzKcEgZrQyD
-
-PD: I know that probably this is not the propper place but I don't know where submit the fix or if I do it right
-(cherry picked from commit 6f54f5373aa681e66278e8e6edaea06e3d0f8958)
----
- po/es.po | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/po/es.po b/po/es.po
-index 675f9721bf..811e36e81f 100644
---- a/po/es.po
-+++ b/po/es.po
-@@ -528,5 +528,5 @@ msgstr ""
- #, c-format
- msgid "Checking in progress on %d disk (%3.1f%% complete)"
- msgid_plural "Checking in progress on %d disks (%3.1f%% complete)"
--msgstr[0] "Comprobando progreso en %d disco (%3.1f%% completado)"
--msgstr[1] "Comprobando progreso en %d discos (%3.1f%% completado)"
-+msgstr[0] "Comprobando progreso en %d disco (%3.1f %% completado)"
-+msgstr[1] "Comprobando progreso en %d discos (%3.1f %% completado)"
diff --git a/0033-zsh-completion-fix-completion-of-user-services.patch b/0033-zsh-completion-fix-completion-of-user-services.patch
deleted file mode 100644
index f62f84b..0000000
--- a/0033-zsh-completion-fix-completion-of-user-services.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From a27d1804a1a1d1f522fe7742f42a44ced58dce2e Mon Sep 17 00:00:00 2001
-From: Eric Cook <llua@gmx.com>
-Date: Mon, 18 May 2015 18:45:31 -0400
-Subject: [PATCH] zsh-completion: fix completion of --user services
-
-By the time __systemctl is called, --user/--system are shifted out of
-`words' by _arguments. This patch queries the array sooner.
-
-In the case that both --user and --system are on the line when compsys runs,
-_sys_service_mgr is set to the latter. Which is seemingly how systemctl behaves.
-
-If neither are on the line, --system is set; for system services to be completed.
-
-(cherry picked from commit 68c4f6d406a2bdac6957a67a077f182b0287cc3b)
----
- shell-completion/zsh/_systemctl.in | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/shell-completion/zsh/_systemctl.in b/shell-completion/zsh/_systemctl.in
-index 1dc6406beb..db9bdb60c5 100644
---- a/shell-completion/zsh/_systemctl.in
-+++ b/shell-completion/zsh/_systemctl.in
-@@ -93,9 +93,7 @@
- 
- __systemctl()
- {
--  local -a _modes
--  _modes=("--user" "--system")
--  systemctl ${words:*_modes} --full --no-legend --no-pager "$@"
-+  systemctl $_sys_service_mgr --full --no-legend --no-pager "$@"
- }
- 
- 
-@@ -355,6 +353,8 @@ _job_modes() {
-     _values -s , "${_modes[@]}"
- }
- 
-+local -a _modes; _modes=("--user" "--system")
-+local _sys_service_mgr=${${words:*_modes}[(R)(${(j.|.)_modes})]:---system}
- _arguments -s \
-     {-h,--help}'[Show help]' \
-     '--version[Show package version]' \
diff --git a/0034-zsh-completion-a-more-style-tag-aware-_systemctl.patch b/0034-zsh-completion-a-more-style-tag-aware-_systemctl.patch
deleted file mode 100644
index 39e20c1..0000000
--- a/0034-zsh-completion-a-more-style-tag-aware-_systemctl.patch
+++ /dev/null
@@ -1,194 +0,0 @@
-From 50bb352ccad52c5f56a457305f5422b1359cbf42 Mon Sep 17 00:00:00 2001
-From: Eric Cook <llua@gmx.com>
-Date: Fri, 29 May 2015 10:40:11 -0400
-Subject: [PATCH] zsh-completion: a more style/tag aware _systemctl
-
-using _wanted instead of calling compadd directly. this allows the user to customize
-possible matches.
-
-An example being, grouping units by type:
-autoload -Uz compinit; compinit
-zstyle ':completion:*' menu select
-zstyle ':completion:*' group-name ''
-zstyle ':completion:*' format 'Completing %d'
-zstyle -e ':completion:*:*:systemctl-(((re|)en|dis)able|(*re|)start|reload*):*' \
-tag-order 'local type; for type in service template target socket;
-    reply+=( systemd-units:-${type}:${type} ); reply=( "$reply systemd-units:-misc:misc" )'
-zstyle ':completion:*:systemd-units-template' ignored-patterns '^*@'
-zstyle ':completion:*:systemd-units-target' ignored-patterns '^*.target'
-zstyle ':completion:*:systemd-units-socket' ignored-patterns '^*.socket'
-zstyle ':completion:*:systemd-units-service' ignored-patterns '^*.service'
-zstyle ':completion:*:systemd-units-misc' ignored-patterns '*(@|.(service|socket|target))'
-
-also, <poke> http://lists.freedesktop.org/archives/systemd-devel/2015-May/032012.html
-
-(cherry picked from commit d34b7c117bd016cb9ef2c36d474c9a917924abda)
----
- shell-completion/zsh/_systemctl.in | 60 +++++++++++++++++++++++---------------
- 1 file changed, 37 insertions(+), 23 deletions(-)
-
-diff --git a/shell-completion/zsh/_systemctl.in b/shell-completion/zsh/_systemctl.in
-index db9bdb60c5..17736de01c 100644
---- a/shell-completion/zsh/_systemctl.in
-+++ b/shell-completion/zsh/_systemctl.in
-@@ -65,7 +65,7 @@
-   if (( CURRENT == 1 )); then
-     _describe -t commands 'systemctl command' _systemctl_cmds || compadd "$@"
-   else
--    local curcontext="$curcontext"
-+    local curcontext="$curcontext" expl
- 
-     cmd="${${_systemctl_cmds[(r)$words[1]:*]%%:*}}"
-     # Deal with any aliases
-@@ -172,7 +172,8 @@ for fun in is-active is-failed is-enabled status show cat mask preset help list-
-   (( $+functions[_systemctl_$fun] )) || _systemctl_$fun()
-   {
-     _systemctl_really_all_units
--    compadd "$@" -a - _sys_really_all_units
-+    _wanted systemd-units expl unit \
-+      compadd "$@" -a - _sys_really_all_units
-   }
- done
- 
-@@ -180,34 +181,39 @@ done
- (( $+functions[_systemctl_disable] )) || _systemctl_disable()
- {
-     local _sys_unit_state; _systemctl_unit_state
--    compadd "$@" - ${(k)_sys_unit_state[(R)enabled]}
-+    _wanted systemd-units expl 'enabled unit' \
-+      compadd "$@" - ${(k)_sys_unit_state[(R)enabled]}
- }
- 
- (( $+functions[_systemctl_reenable] )) || _systemctl_reenable()
- {
-     local _sys_unit_state; _systemctl_unit_state
--    compadd "$@" - ${(k)_sys_unit_state[(R)(enabled|disabled)]} $(_systemctl_get_template_names)
-+    _wanted systemd-units expl 'enabled/disabled unit' \
-+      compadd "$@" - ${(k)_sys_unit_state[(R)(enabled|disabled)]} $(_systemctl_get_template_names)
- }
- 
- # Completion functions for DISABLED_UNITS
- (( $+functions[_systemctl_enable] )) || _systemctl_enable()
- {
-   local _sys_unit_state; _systemctl_unit_state
--  compadd "$@" - ${(k)_sys_unit_state[(R)disabled]} $(_systemctl_get_template_names)
-+  _wanted systemd-units expl 'disabled unit' \
-+    compadd "$@" - ${(k)_sys_unit_state[(R)disabled]} $(_systemctl_get_template_names)
- }
- 
- # Completion functions for FAILED_UNITS
- (( $+functions[_systemctl_reset-failed] )) || _systemctl_reset-failed()
- {
-   local _sys_failed_units; _systemctl_failed_units
--  compadd "$@" -a - _sys_failed_units || _message "no failed unit found"
-+  _wanted systemd-units expl 'failed unit' \
-+    compadd "$@" -a - _sys_failed_units || _message "no failed unit found"
- }
- 
- # Completion functions for STARTABLE_UNITS
- (( $+functions[_systemctl_start] )) || _systemctl_start()
- {
-    local _sys_startable_units; _systemctl_startable_units
--   compadd "$@" - ${_sys_startable_units[*]} $(_systemctl_get_template_names)
-+   _wanted systemd-units expl 'startable unit' \
-+     compadd "$@" - ${_sys_startable_units[*]} $(_systemctl_get_template_names)
- }
- 
- # Completion functions for STOPPABLE_UNITS
-@@ -215,8 +221,9 @@ for fun in stop kill try-restart condrestart ; do
-   (( $+functions[_systemctl_$fun] )) || _systemctl_$fun()
-   {
-     local _sys_active_units; _systemctl_active_units
--    compadd "$@" - $( _filter_units_by_property CanStop yes \
--      ${_sys_active_units[*]} )
-+    _wanted systemd-units expl 'stoppable unit' \
-+      compadd "$@" - $( _filter_units_by_property CanStop yes \
-+        ${_sys_active_units[*]} )
-   }
- done
- 
-@@ -224,8 +231,9 @@ done
- (( $+functions[_systemctl_isolate] )) || _systemctl_isolate()
- {
-   _systemctl_all_units
--  compadd "$@" - $( _filter_units_by_property AllowIsolate yes \
--    ${_sys_all_units[*]} )
-+  _wanted systemd-units expl 'isolatable unit' \
-+    compadd "$@" - $( _filter_units_by_property AllowIsolate yes \
-+      ${_sys_all_units[*]} )
- }
- 
- # Completion functions for RELOADABLE_UNITS
-@@ -233,8 +241,9 @@ for fun in reload reload-or-try-restart force-reload ; do
-   (( $+functions[_systemctl_$fun] )) || _systemctl_$fun()
-   {
-     local _sys_active_units; _systemctl_active_units
--    compadd "$@" - $( _filter_units_by_property CanReload yes \
--      ${_sys_active_units[*]} )
-+    _wanted systemd-units expl 'reloadable unit' \
-+      compadd "$@" - $( _filter_units_by_property CanReload yes \
-+        ${_sys_active_units[*]} )
-   }
- done
- 
-@@ -243,7 +252,8 @@ for fun in restart reload-or-restart ; do
-   (( $+functions[_systemctl_$fun] )) || _systemctl_$fun()
-   {
-     local _sys_restartable_units; _systemctl_restartable_units
--    compadd "$@" - ${_sys_restartable_units[*]} $(_systemctl_get_template_names)
-+    _wanted systemd-units expl 'restartable unit' \
-+      compadd "$@" - ${_sys_restartable_units[*]} $(_systemctl_get_template_names)
-   }
- done
- 
-@@ -251,28 +261,32 @@ done
- (( $+functions[_systemctl_unmask] )) || _systemctl_unmask()
- {
-   local _sys_unit_state; _systemctl_unit_state
--  compadd "$@" - ${(k)_sys_unit_state[(R)masked]} || _message "no masked units found"
-+  _wanted systemd-units expl 'masked unit' \
-+    compadd "$@" - ${(k)_sys_unit_state[(R)masked]} || _message "no masked units found"
- }
- 
- # Completion functions for JOBS
- (( $+functions[_systemctl_cancel] )) || _systemctl_cancel()
- {
--  compadd "$@" - ${${(f)"$(__systemctl list-jobs)"}%% *} ||
--    _message "no jobs found"
-+  _wanted systemd-jobs expl job \
-+    compadd "$@" - ${${(f)"$(__systemctl list-jobs)"}%% *} ||
-+      _message "no jobs found"
- }
- 
- # Completion functions for SNAPSHOTS
- (( $+functions[_systemctl_delete] )) || _systemctl_delete()
- {
--  compadd "$@" - ${${(f)"$(__systemctl list-units --type snapshot --all)"}%% *} ||
--    _message "no snapshots found"
-+  _wanted systemd-snapshots expl snapshot \
-+    compadd "$@" - ${${(f)"$(__systemctl list-units --type snapshot --all)"}%% *} ||
-+      _message "no snapshots found"
- }
- 
- # Completion functions for TARGETS
- (( $+functions[_systemctl_set-default] )) || _systemctl_set-default()
- {
--  compadd "$@" - ${${(f)"$(__systemctl list-unit-files --type target --all)"}%% *} ||
--    _message "no targets found"
-+  _wanted systemd-targets expl target \
-+    compadd "$@" - ${${(f)"$(__systemctl list-unit-files --type target --all)"}%% *} ||
-+      _message "no targets found"
- }
- 
- # Completion functions for ENVS
-@@ -284,8 +298,8 @@ for fun in set-environment unset-environment ; do
-     if [[ "${fun}" = "set-environment" ]]; then
-       suf='-S='
-     fi
--
--    compadd "$@" ${suf} - ${${(f)"$(systemctl show-environment)"}%%=*}
-+    _wanted systemd-environment expl 'environment variable' \
-+      compadd "$@" ${suf} - ${${(f)"$(systemctl show-environment)"}%%=*}
-   }
- done
- 
diff --git a/0035-missing-add-more-btrfs-defines.patch b/0035-missing-add-more-btrfs-defines.patch
deleted file mode 100644
index ed9f4c9..0000000
--- a/0035-missing-add-more-btrfs-defines.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From 4ef997dc5832f652d30eefcf67547ca029d190db Mon Sep 17 00:00:00 2001
-From: Michael Olbrich <m.olbrich@pengutronix.de>
-Date: Tue, 2 Jun 2015 11:08:24 +0200
-Subject: [PATCH] missing: add more btrfs defines
-
-(cherry picked from commit d97fb4083704ce88d96fcc65ab744801909dd0b0)
----
- src/shared/missing.h | 28 ++++++++++++++++++++++++++++
- 1 file changed, 28 insertions(+)
-
-diff --git a/src/shared/missing.h b/src/shared/missing.h
-index 9194009491..be7f6186fc 100644
---- a/src/shared/missing.h
-+++ b/src/shared/missing.h
-@@ -269,6 +269,11 @@ struct btrfs_qgroup_inherit {
-         __u64 qgroups[0];
- };
- 
-+struct btrfs_ioctl_qgroup_limit_args {
-+        __u64 qgroupid;
-+        struct btrfs_qgroup_limit lim;
-+};
-+
- struct btrfs_ioctl_vol_args_v2 {
-         __s64 fd;
-         __u64 transid;
-@@ -360,6 +365,14 @@ struct btrfs_ioctl_clone_range_args {
-         __u64 src_offset, src_length;
-         __u64 dest_offset;
- };
-+
-+#define BTRFS_QUOTA_CTL_ENABLE  1
-+#define BTRFS_QUOTA_CTL_DISABLE 2
-+#define BTRFS_QUOTA_CTL_RESCAN__NOTUSED 3
-+struct btrfs_ioctl_quota_ctl_args {
-+        __u64 cmd;
-+        __u64 status;
-+};
- #endif
- 
- #ifndef BTRFS_IOC_DEFRAG
-@@ -367,6 +380,11 @@ struct btrfs_ioctl_clone_range_args {
-                                  struct btrfs_ioctl_vol_args)
- #endif
- 
-+#ifndef BTRFS_IOC_RESIZE
-+#define BTRFS_IOC_RESIZE _IOW(BTRFS_IOCTL_MAGIC, 3, \
-+                                 struct btrfs_ioctl_vol_args)
-+#endif
-+
- #ifndef BTRFS_IOC_CLONE
- #define BTRFS_IOC_CLONE _IOW(BTRFS_IOCTL_MAGIC, 9, int)
- #endif
-@@ -424,6 +442,16 @@ struct btrfs_ioctl_clone_range_args {
-                                  struct btrfs_ioctl_vol_args)
- #endif
- 
-+#ifndef BTRFS_IOC_QUOTA_CTL
-+#define BTRFS_IOC_QUOTA_CTL _IOWR(BTRFS_IOCTL_MAGIC, 40, \
-+                               struct btrfs_ioctl_quota_ctl_args)
-+#endif
-+
-+#ifndef BTRFS_IOC_QGROUP_LIMIT
-+#define BTRFS_IOC_QGROUP_LIMIT _IOR(BTRFS_IOCTL_MAGIC, 43, \
-+                               struct btrfs_ioctl_qgroup_limit_args)
-+#endif
-+
- #ifndef BTRFS_FIRST_FREE_OBJECTID
- #define BTRFS_FIRST_FREE_OBJECTID 256
- #endif
diff --git a/0036-hwdb-Update-database-of-Bluetooth-company-identifier.patch b/0036-hwdb-Update-database-of-Bluetooth-company-identifier.patch
deleted file mode 100644
index 1dc9eb7..0000000
--- a/0036-hwdb-Update-database-of-Bluetooth-company-identifier.patch
+++ /dev/null
@@ -1,186 +0,0 @@
-From 502fcfa0c7a24caac76c41ebbeb3cf807aa3d5db Mon Sep 17 00:00:00 2001
-From: Marcel Holtmann <marcel@holtmann.org>
-Date: Mon, 1 Jun 2015 21:11:40 +0200
-Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers
-
-(cherry picked from commit 2fd51106ee0d685ca1512a01e6680142382586a7)
----
- hwdb/20-bluetooth-vendor-product.hwdb | 161 +++++++++++++++++++++++++++++++++-
- 1 file changed, 160 insertions(+), 1 deletion(-)
-
-diff --git a/hwdb/20-bluetooth-vendor-product.hwdb b/hwdb/20-bluetooth-vendor-product.hwdb
-index ff8862b9ea..93241ca490 100644
---- a/hwdb/20-bluetooth-vendor-product.hwdb
-+++ b/hwdb/20-bluetooth-vendor-product.hwdb
-@@ -1237,7 +1237,7 @@ bluetooth:v0199*
-  ID_VENDOR_FROM_DATABASE=SALTO SYSTEMS S.L.
- 
- bluetooth:v019A*
-- ID_VENDOR_FROM_DATABASE=T-Engine Forum
-+ ID_VENDOR_FROM_DATABASE=TRON Forum (formerly T-Engine Forum)
- 
- bluetooth:v019B*
-  ID_VENDOR_FROM_DATABASE=CUBETECH s.r.o.
-@@ -1508,3 +1508,162 @@ bluetooth:v01F3*
- 
- bluetooth:v01F4*
-  ID_VENDOR_FROM_DATABASE=UTC Fire and Security
-+
-+bluetooth:v01F5*
-+ ID_VENDOR_FROM_DATABASE=Cool Webthings Limited
-+
-+bluetooth:v01F6*
-+ ID_VENDOR_FROM_DATABASE=DJO Global
-+
-+bluetooth:v01F7*
-+ ID_VENDOR_FROM_DATABASE=Gelliner Limited
-+
-+bluetooth:v01F8*
-+ ID_VENDOR_FROM_DATABASE=Anyka (Guangzhou) Microelectronics Technology Co, LTD
-+
-+bluetooth:v01F9*
-+ ID_VENDOR_FROM_DATABASE=Medtronic, Inc.
-+
-+bluetooth:v01FA*
-+ ID_VENDOR_FROM_DATABASE=Gozio, Inc.
-+
-+bluetooth:v01FB*
-+ ID_VENDOR_FROM_DATABASE=Form Lifting, LLC
-+
-+bluetooth:v01FC*
-+ ID_VENDOR_FROM_DATABASE=Wahoo Fitness, LLC
-+
-+bluetooth:v01FD*
-+ ID_VENDOR_FROM_DATABASE=Kontakt Micro-Location Sp. z o.o.
-+
-+bluetooth:v01FE*
-+ ID_VENDOR_FROM_DATABASE=Radio System Corporation
-+
-+bluetooth:v01FF*
-+ ID_VENDOR_FROM_DATABASE=Freescale Semiconductor, Inc.
-+
-+bluetooth:v0200*
-+ ID_VENDOR_FROM_DATABASE=Verifone Systems PTe Ltd. Taiwan Branch
-+
-+bluetooth:v0201*
-+ ID_VENDOR_FROM_DATABASE=AR Timing
-+
-+bluetooth:v0202*
-+ ID_VENDOR_FROM_DATABASE=Rigado LLC
-+
-+bluetooth:v0203*
-+ ID_VENDOR_FROM_DATABASE=Kemppi Oy
-+
-+bluetooth:v0204*
-+ ID_VENDOR_FROM_DATABASE=Tapcentive Inc.
-+
-+bluetooth:v0205*
-+ ID_VENDOR_FROM_DATABASE=Smartbotics Inc.
-+
-+bluetooth:v0206*
-+ ID_VENDOR_FROM_DATABASE=Otter Products, LLC
-+
-+bluetooth:v0207*
-+ ID_VENDOR_FROM_DATABASE=STEMP Inc.
-+
-+bluetooth:v0208*
-+ ID_VENDOR_FROM_DATABASE=LumiGeek LLC
-+
-+bluetooth:v0209*
-+ ID_VENDOR_FROM_DATABASE=InvisionHeart Inc.
-+
-+bluetooth:v020A*
-+ ID_VENDOR_FROM_DATABASE=Macnica Inc.
-+
-+bluetooth:v020B*
-+ ID_VENDOR_FROM_DATABASE=Jaguar Land Rover Limited
-+
-+bluetooth:v020C*
-+ ID_VENDOR_FROM_DATABASE=CoroWare Technologies, Inc
-+
-+bluetooth:v020D*
-+ ID_VENDOR_FROM_DATABASE=Simplo Technology Co., LTD
-+
-+bluetooth:v020E*
-+ ID_VENDOR_FROM_DATABASE=Omron Healthcare Co., LTD
-+
-+bluetooth:v020F*
-+ ID_VENDOR_FROM_DATABASE=Comodule GMBH
-+
-+bluetooth:v0210*
-+ ID_VENDOR_FROM_DATABASE=ikeGPS
-+
-+bluetooth:v0211*
-+ ID_VENDOR_FROM_DATABASE=Telink Semiconductor Co. Ltd
-+
-+bluetooth:v0212*
-+ ID_VENDOR_FROM_DATABASE=Interplan Co., Ltd
-+
-+bluetooth:v0213*
-+ ID_VENDOR_FROM_DATABASE=Wyler AG
-+
-+bluetooth:v0214*
-+ ID_VENDOR_FROM_DATABASE=IK Multimedia Production srl
-+
-+bluetooth:v0215*
-+ ID_VENDOR_FROM_DATABASE=Lukoton Experience Oy
-+
-+bluetooth:v0216*
-+ ID_VENDOR_FROM_DATABASE=MTI Ltd
-+
-+bluetooth:v0217*
-+ ID_VENDOR_FROM_DATABASE=Tech4home, Lda
-+
-+bluetooth:v0218*
-+ ID_VENDOR_FROM_DATABASE=Hiotech AB
-+
-+bluetooth:v0219*
-+ ID_VENDOR_FROM_DATABASE=DOTT Limited
-+
-+bluetooth:v021A*
-+ ID_VENDOR_FROM_DATABASE=Blue Speck Labs, LLC
-+
-+bluetooth:v021B*
-+ ID_VENDOR_FROM_DATABASE=Cisco Systems Inc
-+
-+bluetooth:v021C*
-+ ID_VENDOR_FROM_DATABASE=Mobicomm Inc
-+
-+bluetooth:v021D*
-+ ID_VENDOR_FROM_DATABASE=Edamic
-+
-+bluetooth:v021E*
-+ ID_VENDOR_FROM_DATABASE=Goodnet Ltd
-+
-+bluetooth:v021F*
-+ ID_VENDOR_FROM_DATABASE=Luster Leaf Products Inc
-+
-+bluetooth:v0220*
-+ ID_VENDOR_FROM_DATABASE=Manus Machina BV
-+
-+bluetooth:v0221*
-+ ID_VENDOR_FROM_DATABASE=Mobiquity Networks Inc
-+
-+bluetooth:v0222*
-+ ID_VENDOR_FROM_DATABASE=Praxis Dynamics
-+
-+bluetooth:v0223*
-+ ID_VENDOR_FROM_DATABASE=Philip Morris Products S.A.
-+
-+bluetooth:v0224*
-+ ID_VENDOR_FROM_DATABASE=Comarch SA
-+
-+bluetooth:v0225*
-+ ID_VENDOR_FROM_DATABASE=Nestl Nespresso S.A.
-+
-+bluetooth:v0226*
-+ ID_VENDOR_FROM_DATABASE=Merlinia A/S
-+
-+bluetooth:v0227*
-+ ID_VENDOR_FROM_DATABASE=LifeBEAM Technologies
-+
-+bluetooth:v0228*
-+ ID_VENDOR_FROM_DATABASE=Twocanoes Labs, LLC
-+
-+bluetooth:v0229*
-+ ID_VENDOR_FROM_DATABASE=Muoverti Limited
diff --git a/0037-hwdb-update.patch b/0037-hwdb-update.patch
deleted file mode 100644
index a02a53a..0000000
--- a/0037-hwdb-update.patch
+++ /dev/null
@@ -1,1052 +0,0 @@
-From ec5eaae67e005bcfca37dc62e79305f6e3ac8f0a Mon Sep 17 00:00:00 2001
-From: Kay Sievers <kay@vrfy.org>
-Date: Tue, 2 Jun 2015 20:19:31 +0200
-Subject: [PATCH] hwdb: update
-
-(cherry picked from commit b30e7a269d1ee289d29282e93f41559ace9d4775)
----
- hwdb/20-OUI.hwdb              | 153 ++++++++++++++++++++++++++++++
- hwdb/20-pci-vendor-model.hwdb | 216 ++++++++++++++++++++++++++----------------
- 2 files changed, 285 insertions(+), 84 deletions(-)
-
-diff --git a/hwdb/20-OUI.hwdb b/hwdb/20-OUI.hwdb
-index b7823d884f..fa4633dc16 100644
---- a/hwdb/20-OUI.hwdb
-+++ b/hwdb/20-OUI.hwdb
-@@ -44305,6 +44305,9 @@ OUI:00336C*
- OUI:0034F1*
-  ID_OUI_FROM_DATABASE=Radicom Research, Inc.
- 
-+OUI:0034FE*
-+ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd
-+
- OUI:003532*
-  ID_OUI_FROM_DATABASE=Electro-Metrics Corporation
- 
-@@ -51670,6 +51673,9 @@ OUI:00F4B9*
- OUI:00F76F*
-  ID_OUI_FROM_DATABASE=Apple
- 
-+OUI:00F81C*
-+ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd
-+
- OUI:00F860*
-  ID_OUI_FROM_DATABASE=PT. Panggung Electric Citrabuana
- 
-@@ -51727,6 +51733,9 @@ OUI:02CF1C*
- OUI:02E6D3*
-  ID_OUI_FROM_DATABASE=NIXDORF COMPUTER CORPORATION
- 
-+OUI:04021F*
-+ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd
-+
- OUI:040A83*
-  ID_OUI_FROM_DATABASE=Alcatel-Lucent
- 
-@@ -51763,6 +51772,9 @@ OUI:041D10*
- OUI:041E64*
-  ID_OUI_FROM_DATABASE=Apple
- 
-+OUI:041E7A*
-+ ID_OUI_FROM_DATABASE=DSPWorks
-+
- OUI:04209A*
-  ID_OUI_FROM_DATABASE=Panasonic AVC Networks Company
- 
-@@ -53170,6 +53182,9 @@ OUI:0CD502*
- OUI:0CD696*
-  ID_OUI_FROM_DATABASE=Amimon Ltd
- 
-+OUI:0CD6BD*
-+ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd
-+
- OUI:0CD7C2*
-  ID_OUI_FROM_DATABASE=Axium Technologies, Inc.
- 
-@@ -54481,6 +54496,9 @@ OUI:1C4840*
- OUI:1C48F9*
-  ID_OUI_FROM_DATABASE=GN Netcom A/S
- 
-+OUI:1C497B*
-+ ID_OUI_FROM_DATABASE=Gemtek Technology Co., Ltd.
-+
- OUI:1C4AF7*
-  ID_OUI_FROM_DATABASE=AMON INC
- 
-@@ -55156,6 +55174,9 @@ OUI:241C04*
- OUI:241F2C*
-  ID_OUI_FROM_DATABASE=Calsys, Inc.
- 
-+OUI:241FA0*
-+ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd
-+
- OUI:2421AB*
-  ID_OUI_FROM_DATABASE=Sony Ericsson Mobile Communications
- 
-@@ -56110,6 +56131,9 @@ OUI:2CCD43*
- OUI:2CCD69*
-  ID_OUI_FROM_DATABASE=Aqavi.com
- 
-+OUI:2CCF58*
-+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
-+
- OUI:2CD05A*
-  ID_OUI_FROM_DATABASE=Liteon Technology Corporation
- 
-@@ -56473,6 +56497,9 @@ OUI:30F42F*
- OUI:30F70D*
-  ID_OUI_FROM_DATABASE=Cisco Systems
- 
-+OUI:30F772*
-+ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd.
-+
- OUI:30F7C5*
-  ID_OUI_FROM_DATABASE=Apple
- 
-@@ -56932,6 +56959,9 @@ OUI:380A0A*
- OUI:380A94*
-  ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
- 
-+OUI:380AAB*
-+ ID_OUI_FROM_DATABASE=Formlabs
-+
- OUI:380B40*
-  ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
- 
-@@ -57964,6 +57994,9 @@ OUI:40D559*
- OUI:40E230*
-  ID_OUI_FROM_DATABASE=AzureWave Technologies, Inc.
- 
-+OUI:40E3D6*
-+ ID_OUI_FROM_DATABASE=Aruba Networks
-+
- OUI:40E730*
-  ID_OUI_FROM_DATABASE=DEY Storage Systems, Inc.
- 
-@@ -58024,6 +58057,9 @@ OUI:44184F*
- OUI:4419B6*
-  ID_OUI_FROM_DATABASE=Hangzhou Hikvision Digital Technology Co.,Ltd.
- 
-+OUI:441CA8*
-+ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd.
-+
- OUI:441E91*
-  ID_OUI_FROM_DATABASE=ARVIDA Intelligent Electronics Technology  Co.,Ltd.
- 
-@@ -59275,6 +59311,9 @@ OUI:50A6E3*
- OUI:50A715*
-  ID_OUI_FROM_DATABASE=Aboundi, Inc.
- 
-+OUI:50A72B*
-+ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd
-+
- OUI:50A733*
-  ID_OUI_FROM_DATABASE=Ruckus Wireless
- 
-@@ -59335,6 +59374,9 @@ OUI:50D274*
- OUI:50D6D7*
-  ID_OUI_FROM_DATABASE=Takahata Precision
- 
-+OUI:50DF95*
-+ ID_OUI_FROM_DATABASE=Lytx
-+
- OUI:50E0C7*
-  ID_OUI_FROM_DATABASE=TurControlSystme AG
- 
-@@ -59413,6 +59455,9 @@ OUI:541B5D*
- OUI:541DFB*
-  ID_OUI_FROM_DATABASE=Freestyle Energy Ltd
- 
-+OUI:541E56*
-+ ID_OUI_FROM_DATABASE=juniper networks
-+
- OUI:541FD5*
-  ID_OUI_FROM_DATABASE=Advantage Electronics
- 
-@@ -59599,6 +59644,9 @@ OUI:54A274*
- OUI:54A31B*
-  ID_OUI_FROM_DATABASE=Shenzhen Linkworld Technology Co,.LTD
- 
-+OUI:54A3FA*
-+ ID_OUI_FROM_DATABASE=BQT Solutions (Australia)Pty Ltd
-+
- OUI:54A51B*
-  ID_OUI_FROM_DATABASE=Shenzhen Huawei Communication Technologies Co., Ltd
- 
-@@ -59710,6 +59758,9 @@ OUI:54FB58*
- OUI:54FDBF*
-  ID_OUI_FROM_DATABASE=Scheidt & Bachmann GmbH
- 
-+OUI:54FF82*
-+ ID_OUI_FROM_DATABASE=Davit Solution co.
-+
- OUI:54FFCF*
-  ID_OUI_FROM_DATABASE=Mopria Alliance
- 
-@@ -59809,6 +59860,9 @@ OUI:584822*
- OUI:5848C0*
-  ID_OUI_FROM_DATABASE=COFLEC
- 
-+OUI:584925*
-+ ID_OUI_FROM_DATABASE=E3 Enterprise
-+
- OUI:58493B*
-  ID_OUI_FROM_DATABASE=Palo Alto Networks
- 
-@@ -59935,6 +59989,9 @@ OUI:5894CF*
- OUI:58971E*
-  ID_OUI_FROM_DATABASE=Cisco
- 
-+OUI:5897BD*
-+ ID_OUI_FROM_DATABASE=Cisco Systems
-+
- OUI:589835*
-  ID_OUI_FROM_DATABASE=Technicolor
- 
-@@ -59962,6 +60019,9 @@ OUI:58B035*
- OUI:58B0D4*
-  ID_OUI_FROM_DATABASE=ZuniData Systems Inc.
- 
-+OUI:58B633*
-+ ID_OUI_FROM_DATABASE=Ruckus Wireless
-+
- OUI:58B961*
-  ID_OUI_FROM_DATABASE=SOLEM Electronique
- 
-@@ -61099,6 +61159,9 @@ OUI:64A341*
- OUI:64A3CB*
-  ID_OUI_FROM_DATABASE=Apple
- 
-+OUI:64A651*
-+ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd
-+
- OUI:64A769*
-  ID_OUI_FROM_DATABASE=HTC Corporation
- 
-@@ -61141,6 +61204,9 @@ OUI:64BABD*
- OUI:64BC11*
-  ID_OUI_FROM_DATABASE=CombiQ AB
- 
-+OUI:64C354*
-+ ID_OUI_FROM_DATABASE=Avaya, Inc
-+
- OUI:64C5AA*
-  ID_OUI_FROM_DATABASE=South African Broadcasting Corporation
- 
-@@ -61600,6 +61666,9 @@ OUI:68F728*
- OUI:68F895*
-  ID_OUI_FROM_DATABASE=Redflow Limited
- 
-+OUI:68F956*
-+ ID_OUI_FROM_DATABASE=Objetivos y Servicio de Valor Añadido
-+
- OUI:68FB95*
-  ID_OUI_FROM_DATABASE=Generalplus Technology Inc.
- 
-@@ -63883,6 +63952,9 @@ OUI:809FAB*
- OUI:80A1D7*
-  ID_OUI_FROM_DATABASE=Shanghai DareGlobal Technologies Co.,Ltd
- 
-+OUI:80A589*
-+ ID_OUI_FROM_DATABASE=AzureWave Technologies, Inc.
-+
- OUI:80A85D*
-  ID_OUI_FROM_DATABASE=Osterhout Design Group
- 
-@@ -63973,6 +64045,9 @@ OUI:80E4DA*
- OUI:80E650*
-  ID_OUI_FROM_DATABASE=Apple
- 
-+OUI:80E86F*
-+ ID_OUI_FROM_DATABASE=Cisco Systems
-+
- OUI:80EA23*
-  ID_OUI_FROM_DATABASE=Wistron Neweb Corp.
- 
-@@ -64282,6 +64357,9 @@ OUI:84A6C8*
- OUI:84A783*
-  ID_OUI_FROM_DATABASE=Alcatel Lucent
- 
-+OUI:84A788*
-+ ID_OUI_FROM_DATABASE=Perples
-+
- OUI:84A8E4*
-  ID_OUI_FROM_DATABASE=Shenzhen Huawei Communication Technologies Co., Ltd
- 
-@@ -65149,6 +65227,9 @@ OUI:902155*
- OUI:902181*
-  ID_OUI_FROM_DATABASE=Shanghai Huaqin Telecom Technology Co.,Ltd
- 
-+OUI:9023EC*
-+ ID_OUI_FROM_DATABASE=Availink, Inc.
-+
- OUI:9027E4*
-  ID_OUI_FROM_DATABASE=Apple
- 
-@@ -65272,6 +65353,9 @@ OUI:906DC8*
- OUI:906EBB*
-  ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd.
- 
-+OUI:906FA9*
-+ ID_OUI_FROM_DATABASE=NANJING PUTIAN TELECOMMUNICATIONS TECHNOLOGY CO.,LTD.
-+
- OUI:907025*
-  ID_OUI_FROM_DATABASE=Garea Microsys Co.,Ltd.
- 
-@@ -65839,6 +65923,9 @@ OUI:94EBCD*
- OUI:94F19E*
-  ID_OUI_FROM_DATABASE=HUIZHOU MAORONG INTELLIGENT TECHNOLOGY CO.,LTD
- 
-+OUI:94F278*
-+ ID_OUI_FROM_DATABASE=Elma Electronic
-+
- OUI:94F665*
-  ID_OUI_FROM_DATABASE=Ruckus Wireless
- 
-@@ -67354,6 +67441,9 @@ OUI:A81374*
- OUI:A8154D*
-  ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD.
- 
-+OUI:A815D6*
-+ ID_OUI_FROM_DATABASE=Shenzhen Meione Technology CO., LTD
-+
- OUI:A816B2*
-  ID_OUI_FROM_DATABASE=LG Electronics
- 
-@@ -67792,6 +67882,9 @@ OUI:AC5D10*
- OUI:AC5E8C*
-  ID_OUI_FROM_DATABASE=Utillink
- 
-+OUI:AC60B6*
-+ ID_OUI_FROM_DATABASE=Ericsson AB
-+
- OUI:AC6123*
-  ID_OUI_FROM_DATABASE=Drivven, Inc.
- 
-@@ -68323,6 +68416,9 @@ OUI:B0C554*
- OUI:B0C559*
-  ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
- 
-+OUI:B0C5CA*
-+ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY  - Please see MAM public listing for more information.
-+
- OUI:B0C69A*
-  ID_OUI_FROM_DATABASE=Juniper Networks
- 
-@@ -68461,6 +68557,9 @@ OUI:B424E7*
- OUI:B428F1*
-  ID_OUI_FROM_DATABASE=E-Prime Co., Ltd.
- 
-+OUI:B4293D*
-+ ID_OUI_FROM_DATABASE=Shenzhen Urovo Technology Co.,Ltd.
-+
- OUI:B42A39*
-  ID_OUI_FROM_DATABASE=ORBIT MERRET, spol. s r. o.
- 
-@@ -68926,6 +69025,9 @@ OUI:B87AC9*
- OUI:B87CF2*
-  ID_OUI_FROM_DATABASE=Aerohive Networks Inc.
- 
-+OUI:B88687*
-+ ID_OUI_FROM_DATABASE=Liteon Technology Corporation
-+
- OUI:B8871E*
-  ID_OUI_FROM_DATABASE=Good Mind Industries Co., Ltd.
- 
-@@ -69700,6 +69802,9 @@ OUI:C07009*
- OUI:C07BBC*
-  ID_OUI_FROM_DATABASE=Cisco
- 
-+OUI:C07CD1*
-+ ID_OUI_FROM_DATABASE=PEGATRON CORPORATION
-+
- OUI:C07E40*
-  ID_OUI_FROM_DATABASE=SHENZHEN XDK COMMUNICATION EQUIPMENT CO.,LTD
- 
-@@ -69892,6 +69997,9 @@ OUI:C401CE*
- OUI:C40415*
-  ID_OUI_FROM_DATABASE=NETGEAR INC.,
- 
-+OUI:C4047B*
-+ ID_OUI_FROM_DATABASE=Shenzhen YOUHUA Technology Co., Ltd
-+
- OUI:C40528*
-  ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd
- 
-@@ -70378,6 +70486,9 @@ OUI:C848F5*
- OUI:C84C75*
-  ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC.
- 
-+OUI:C85195*
-+ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd
-+
- OUI:C85645*
-  ID_OUI_FROM_DATABASE=Intermas France
- 
-@@ -70486,6 +70597,9 @@ OUI:C8A729*
- OUI:C8A823*
-  ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
- 
-+OUI:C8A9FC*
-+ ID_OUI_FROM_DATABASE=Goyoo Networks Inc.
-+
- OUI:C8AA21*
-  ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
- 
-@@ -71260,6 +71374,9 @@ OUI:D08CFF*
- OUI:D0929E*
-  ID_OUI_FROM_DATABASE=Microsoft Corporation
- 
-+OUI:D09380*
-+ ID_OUI_FROM_DATABASE=Ducere Technologies Pvt. Ltd.
-+
- OUI:D093F8*
-  ID_OUI_FROM_DATABASE=Stonestreet One LLC
- 
-@@ -71521,6 +71638,9 @@ OUI:D43D67*
- OUI:D43D7E*
-  ID_OUI_FROM_DATABASE=Micro-Star Int'l Co, Ltd
- 
-+OUI:D440F0*
-+ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd
-+
- OUI:D443A8*
-  ID_OUI_FROM_DATABASE=Changzhou Haojie Electric Co., Ltd.
- 
-@@ -71812,6 +71932,9 @@ OUI:D4F143*
- OUI:D4F46F*
-  ID_OUI_FROM_DATABASE=Apple
- 
-+OUI:D4F4BE*
-+ ID_OUI_FROM_DATABASE=Palo Alto Networks
-+
- OUI:D4F513*
-  ID_OUI_FROM_DATABASE=Texas Instruments
- 
-@@ -72022,6 +72145,9 @@ OUI:D881CE*
- OUI:D88466*
-  ID_OUI_FROM_DATABASE=Extreme Networks
- 
-+OUI:D888CE*
-+ ID_OUI_FROM_DATABASE=RF Technology Pty Ltd
-+
- OUI:D88A3B*
-  ID_OUI_FROM_DATABASE=UNIT-EM
- 
-@@ -72319,6 +72445,9 @@ OUI:DC3C2E*
- OUI:DC3C84*
-  ID_OUI_FROM_DATABASE=Ticom Geomatics, Inc.
- 
-+OUI:DC3CF6*
-+ ID_OUI_FROM_DATABASE=Atomic Rules LLC
-+
- OUI:DC3E51*
-  ID_OUI_FROM_DATABASE=Solberg & Andersen AS
- 
-@@ -72940,6 +73069,9 @@ OUI:E4121D*
- OUI:E41289*
-  ID_OUI_FROM_DATABASE=topsystem Systemhaus GmbH
- 
-+OUI:E41A2C*
-+ ID_OUI_FROM_DATABASE=ZPE Systems, Inc.
-+
- OUI:E41C4B*
-  ID_OUI_FROM_DATABASE=V2 TECHNOLOGY, INC.
- 
-@@ -73120,6 +73252,9 @@ OUI:E496AE*
- OUI:E497F0*
-  ID_OUI_FROM_DATABASE=Shanghai VLC Technologies Ltd. Co.
- 
-+OUI:E498D1*
-+ ID_OUI_FROM_DATABASE=Microsoft Mobile Oy
-+
- OUI:E498D6*
-  ID_OUI_FROM_DATABASE=Apple, Inc
- 
-@@ -73507,6 +73642,9 @@ OUI:E8BB3D*
- OUI:E8BBA8*
-  ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD.
- 
-+OUI:E8BDD1*
-+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
-+
- OUI:E8BE81*
-  ID_OUI_FROM_DATABASE=SAGEMCOM
- 
-@@ -74011,6 +74149,9 @@ OUI:F02624*
- OUI:F0264C*
-  ID_OUI_FROM_DATABASE=Dr. Sigrist AG
- 
-+OUI:F0272D*
-+ ID_OUI_FROM_DATABASE=Amazon Technologies Inc.
-+
- OUI:F02765*
-  ID_OUI_FROM_DATABASE=Murata Manufactuaring Co.,Ltd.
- 
-@@ -74368,6 +74509,9 @@ OUI:F40F1B*
- OUI:F40F9B*
-  ID_OUI_FROM_DATABASE=WAVELINK
- 
-+OUI:F41535*
-+ ID_OUI_FROM_DATABASE=SPON Communication Technology Co.,Ltd
-+
- OUI:F41563*
-  ID_OUI_FROM_DATABASE=F5 Networks, Inc.
- 
-@@ -74527,9 +74671,15 @@ OUI:F48139*
- OUI:F48771*
-  ID_OUI_FROM_DATABASE=Infoblox
- 
-+OUI:F48B32*
-+ ID_OUI_FROM_DATABASE=XIAOMI INC
-+
- OUI:F48E09*
-  ID_OUI_FROM_DATABASE=Nokia Corporation
- 
-+OUI:F48E92*
-+ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd
-+
- OUI:F490CA*
-  ID_OUI_FROM_DATABASE=Tensorcom
- 
-@@ -75460,6 +75610,9 @@ OUI:FCE998*
- OUI:FCEDB9*
-  ID_OUI_FROM_DATABASE=Arrayent
- 
-+OUI:FCF136*
-+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
-+
- OUI:FCF152*
-  ID_OUI_FROM_DATABASE=Sony Corporation
- 
-diff --git a/hwdb/20-pci-vendor-model.hwdb b/hwdb/20-pci-vendor-model.hwdb
-index b27a5c7902..4cc7cfd65c 100644
---- a/hwdb/20-pci-vendor-model.hwdb
-+++ b/hwdb/20-pci-vendor-model.hwdb
-@@ -998,6 +998,9 @@ pci:v00001000d0000005Fsv00001028sd00001F4C*
- pci:v00001000d0000005Fsv00001028sd00001F4D*
-  ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3008 [Fury] (PERC H330 Embedded (for monolithic))
- 
-+pci:v00001000d0000005Fsv00001054sd0000306A*
-+ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3008 [Fury] (SAS 3004 iMR ROMB)
-+
- pci:v00001000d00000060*
-  ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078
- 
-@@ -6171,28 +6174,28 @@ pci:v00001002d00006819sv0000174Bsd0000E221*
-  ID_MODEL_FROM_DATABASE=Pitcairn PRO [Radeon HD 7850] (Radeon HD 7850 2GB GDDR5 DVI-I/DVI-D/HDMI/DP)
- 
- pci:v00001002d00006820*
-- ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M / R9 M275X]
-+ ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M / R9 M275X/M375X]
- 
- pci:v00001002d00006820sv0000103Csd00001851*
-- ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M / R9 M275X] (Radeon HD 7750M)
-+ ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M / R9 M275X/M375X] (Radeon HD 7750M)
- 
- pci:v00001002d00006820sv000017AAsd00003643*
-- ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M / R9 M275X] (Radeon R9 A375)
-+ ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M / R9 M275X/M375X] (Radeon R9 A375)
- 
- pci:v00001002d00006820sv000017AAsd00003801*
-- ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M / R9 M275X] (Radeon R9 M275)
-+ ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M / R9 M275X/M375X] (Radeon R9 M275)
- 
- pci:v00001002d00006821*
-- ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M / R9 M270X]
-+ ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M / R9 M270X/M370X]
- 
- pci:v00001002d00006821sv00001002sd0000031E*
-- ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M / R9 M270X] (FirePro SX4000)
-+ ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M / R9 M270X/M370X] (FirePro SX4000)
- 
- pci:v00001002d00006821sv00001028sd000005CC*
-- ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M / R9 M270X] (FirePro M5100)
-+ ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M / R9 M270X/M370X] (FirePro M5100)
- 
- pci:v00001002d00006821sv00001028sd000015CC*
-- ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M / R9 M270X] (FirePro M5100)
-+ ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M / R9 M270X/M370X] (FirePro M5100)
- 
- pci:v00001002d00006822*
-  ID_MODEL_FROM_DATABASE=Venus PRO [Radeon E8860]
-@@ -12116,6 +12119,9 @@ pci:v0000102Bd0000051E*
- pci:v0000102Bd0000051F*
-  ID_MODEL_FROM_DATABASE=MGA 2164W [Millennium II] AGP
- 
-+pci:v0000102Bd0000051Fsv0000102Bsd00002100*
-+ ID_MODEL_FROM_DATABASE=MGA 2164W [Millennium II] AGP (MGA-2164WA [Millennium II A])
-+
- pci:v0000102Bd00000520*
-  ID_MODEL_FROM_DATABASE=MGA G200
- 
-@@ -12237,7 +12243,7 @@ pci:v0000102Bd00000521sv0000102Bsd0000FF02*
-  ID_MODEL_FROM_DATABASE=MGA G200 AGP (Mystique G200 AGP)
- 
- pci:v0000102Bd00000521sv0000102Bsd0000FF03*
-- ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 AGP)
-+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200A AGP)
- 
- pci:v0000102Bd00000521sv0000102Bsd0000FF04*
-  ID_MODEL_FROM_DATABASE=MGA G200 AGP (Marvel G200 AGP)
-@@ -26115,16 +26121,16 @@ pci:v000010DEd0000056Asv0000147Bsd00001C3E*
-  ID_MODEL_FROM_DATABASE=MCP73 [nForce 630i] USB 2.0 Controller (EHCI) (I-N73V motherboard)
- 
- pci:v000010DEd0000056C*
-- ID_MODEL_FROM_DATABASE=MCP73 IDE
-+ ID_MODEL_FROM_DATABASE=MCP73 IDE Controller
- 
- pci:v000010DEd0000056Csv00001019sd0000297A*
-- ID_MODEL_FROM_DATABASE=MCP73 IDE (MCP73PVT-SM)
-+ ID_MODEL_FROM_DATABASE=MCP73 IDE Controller (MCP73PVT-SM)
- 
- pci:v000010DEd0000056Csv0000147Bsd00001C3E*
-- ID_MODEL_FROM_DATABASE=MCP73 IDE (I-N73V motherboard)
-+ ID_MODEL_FROM_DATABASE=MCP73 IDE Controller (I-N73V motherboard)
- 
- pci:v000010DEd0000056Csv00001AFAsd00007150*
-- ID_MODEL_FROM_DATABASE=MCP73 IDE (JW-IN7150-HD)
-+ ID_MODEL_FROM_DATABASE=MCP73 IDE Controller (JW-IN7150-HD)
- 
- pci:v000010DEd0000056D*
-  ID_MODEL_FROM_DATABASE=MCP73 PCI Express bridge
-@@ -26133,7 +26139,7 @@ pci:v000010DEd0000056Dsv00001019sd0000297A*
-  ID_MODEL_FROM_DATABASE=MCP73 PCI Express bridge (MCP73PVT-SM)
- 
- pci:v000010DEd0000056Dsv000010DEsd0000CB73*
-- ID_MODEL_FROM_DATABASE=MCP73 PCI Express bridge (MCP73 PCIe x16 port)
-+ ID_MODEL_FROM_DATABASE=MCP73 PCI Express bridge (MCP73 PCIe x1 port)
- 
- pci:v000010DEd0000056E*
-  ID_MODEL_FROM_DATABASE=MCP73 PCI Express bridge
-@@ -26141,6 +26147,9 @@ pci:v000010DEd0000056E*
- pci:v000010DEd0000056Esv00001019sd0000297A*
-  ID_MODEL_FROM_DATABASE=MCP73 PCI Express bridge (MCP73PVT-SM)
- 
-+pci:v000010DEd0000056Esv000010DEsd00000000*
-+ ID_MODEL_FROM_DATABASE=MCP73 PCI Express bridge (MCP73 PCIe x16 port)
-+
- pci:v000010DEd0000056F*
-  ID_MODEL_FROM_DATABASE=MCP73 PCI Express bridge
- 
-@@ -26976,112 +26985,112 @@ pci:v000010DEd000007C8sv00001AFAsd00007150*
-  ID_MODEL_FROM_DATABASE=MCP73 Memory Controller (JW-IN7150-HD)
- 
- pci:v000010DEd000007CB*
-- ID_MODEL_FROM_DATABASE=nForce 630i memory controller
-+ ID_MODEL_FROM_DATABASE=nForce 610i/630i memory controller
- 
- pci:v000010DEd000007CBsv00001019sd0000297A*
-- ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM)
-+ ID_MODEL_FROM_DATABASE=nForce 610i/630i memory controller (MCP73PVT-SM)
- 
- pci:v000010DEd000007CBsv0000147Bsd00001C3E*
-- ID_MODEL_FROM_DATABASE=nForce 630i memory controller (I-N73V motherboard)
-+ ID_MODEL_FROM_DATABASE=nForce 610i/630i memory controller (I-N73V motherboard)
- 
- pci:v000010DEd000007CBsv00001AFAsd00007150*
-- ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD)
-+ ID_MODEL_FROM_DATABASE=nForce 610i/630i memory controller (JW-IN7150-HD)
- 
- pci:v000010DEd000007CD*
-- ID_MODEL_FROM_DATABASE=nForce 630i memory controller
-+ ID_MODEL_FROM_DATABASE=nForce 610i/630i memory controller
- 
- pci:v000010DEd000007CDsv00001019sd0000297A*
-- ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM)
-+ ID_MODEL_FROM_DATABASE=nForce 610i/630i memory controller (MCP73PVT-SM)
- 
- pci:v000010DEd000007CDsv0000147Bsd00001C3E*
-- ID_MODEL_FROM_DATABASE=nForce 630i memory controller (I-N73V motherboard)
-+ ID_MODEL_FROM_DATABASE=nForce 610i/630i memory controller (I-N73V motherboard)
- 
- pci:v000010DEd000007CDsv00001AFAsd00007150*
-- ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD)
-+ ID_MODEL_FROM_DATABASE=nForce 610i/630i memory controller (JW-IN7150-HD)
- 
- pci:v000010DEd000007CE*
-- ID_MODEL_FROM_DATABASE=nForce 630i memory controller
-+ ID_MODEL_FROM_DATABASE=nForce 610i/630i memory controller
- 
- pci:v000010DEd000007CEsv00001019sd0000297A*
-- ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM)
-+ ID_MODEL_FROM_DATABASE=nForce 610i/630i memory controller (MCP73PVT-SM)
- 
- pci:v000010DEd000007CEsv0000147Bsd00001C3E*
-- ID_MODEL_FROM_DATABASE=nForce 630i memory controller (I-N73V motherboard)
-+ ID_MODEL_FROM_DATABASE=nForce 610i/630i memory controller (I-N73V motherboard)
- 
- pci:v000010DEd000007CEsv00001AFAsd00007150*
-- ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD)
-+ ID_MODEL_FROM_DATABASE=nForce 610i/630i memory controller (JW-IN7150-HD)
- 
- pci:v000010DEd000007CF*
-- ID_MODEL_FROM_DATABASE=nForce 630i memory controller
-+ ID_MODEL_FROM_DATABASE=nForce 610i/630i memory controller
- 
- pci:v000010DEd000007CFsv00001019sd0000297A*
-- ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM)
-+ ID_MODEL_FROM_DATABASE=nForce 610i/630i memory controller (MCP73PVT-SM)
- 
- pci:v000010DEd000007CFsv0000147Bsd00001C3E*
-- ID_MODEL_FROM_DATABASE=nForce 630i memory controller (I-N73V motherboard)
-+ ID_MODEL_FROM_DATABASE=nForce 610i/630i memory controller (I-N73V motherboard)
- 
- pci:v000010DEd000007CFsv00001AFAsd00007150*
-- ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD)
-+ ID_MODEL_FROM_DATABASE=nForce 610i/630i memory controller (JW-IN7150-HD)
- 
- pci:v000010DEd000007D0*
-- ID_MODEL_FROM_DATABASE=nForce 630i memory controller
-+ ID_MODEL_FROM_DATABASE=nForce 610i/630i memory controller
- 
- pci:v000010DEd000007D0sv00001019sd0000297A*
-- ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM)
-+ ID_MODEL_FROM_DATABASE=nForce 610i/630i memory controller (MCP73PVT-SM)
- 
- pci:v000010DEd000007D0sv0000147Bsd00001C3E*
-- ID_MODEL_FROM_DATABASE=nForce 630i memory controller (I-N73V motherboard)
-+ ID_MODEL_FROM_DATABASE=nForce 610i/630i memory controller (I-N73V motherboard)
- 
- pci:v000010DEd000007D0sv00001AFAsd00007150*
-- ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD)
-+ ID_MODEL_FROM_DATABASE=nForce 610i/630i memory controller (JW-IN7150-HD)
- 
- pci:v000010DEd000007D1*
-- ID_MODEL_FROM_DATABASE=nForce 630i memory controller
-+ ID_MODEL_FROM_DATABASE=nForce 610i/630i memory controller
- 
- pci:v000010DEd000007D1sv00001019sd0000297A*
-- ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM)
-+ ID_MODEL_FROM_DATABASE=nForce 610i/630i memory controller (MCP73PVT-SM)
- 
- pci:v000010DEd000007D1sv0000147Bsd00001C3E*
-- ID_MODEL_FROM_DATABASE=nForce 630i memory controller (I-N73V motherboard)
-+ ID_MODEL_FROM_DATABASE=nForce 610i/630i memory controller (I-N73V motherboard)
- 
- pci:v000010DEd000007D1sv00001AFAsd00007150*
-- ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD)
-+ ID_MODEL_FROM_DATABASE=nForce 610i/630i memory controller (JW-IN7150-HD)
- 
- pci:v000010DEd000007D2*
-- ID_MODEL_FROM_DATABASE=nForce 630i memory controller
-+ ID_MODEL_FROM_DATABASE=nForce 610i/630i memory controller
- 
- pci:v000010DEd000007D2sv00001019sd0000297A*
-- ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM)
-+ ID_MODEL_FROM_DATABASE=nForce 610i/630i memory controller (MCP73PVT-SM)
- 
- pci:v000010DEd000007D2sv0000147Bsd00001C3E*
-- ID_MODEL_FROM_DATABASE=nForce 630i memory controller (I-N73V motherboard)
-+ ID_MODEL_FROM_DATABASE=nForce 610i/630i memory controller (I-N73V motherboard)
- 
- pci:v000010DEd000007D2sv00001AFAsd00007150*
-- ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD)
-+ ID_MODEL_FROM_DATABASE=nForce 610i/630i memory controller (JW-IN7150-HD)
- 
- pci:v000010DEd000007D3*
-- ID_MODEL_FROM_DATABASE=nForce 630i memory controller
-+ ID_MODEL_FROM_DATABASE=nForce 610i/630i memory controller
- 
- pci:v000010DEd000007D3sv00001019sd0000297A*
-- ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM)
-+ ID_MODEL_FROM_DATABASE=nForce 610i/630i memory controller (MCP73PVT-SM)
- 
- pci:v000010DEd000007D3sv0000147Bsd00001C3E*
-- ID_MODEL_FROM_DATABASE=nForce 630i memory controller (I-N73V motherboard)
-+ ID_MODEL_FROM_DATABASE=nForce 610i/630i memory controller (I-N73V motherboard)
- 
- pci:v000010DEd000007D3sv00001AFAsd00007150*
-- ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD)
-+ ID_MODEL_FROM_DATABASE=nForce 610i/630i memory controller (JW-IN7150-HD)
- 
- pci:v000010DEd000007D6*
-- ID_MODEL_FROM_DATABASE=nForce 630i memory controller
-+ ID_MODEL_FROM_DATABASE=nForce 610i/630i memory controller
- 
- pci:v000010DEd000007D6sv00001019sd0000297A*
-- ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM)
-+ ID_MODEL_FROM_DATABASE=nForce 610i/630i memory controller (MCP73PVT-SM)
- 
- pci:v000010DEd000007D6sv0000147Bsd00001C3E*
-- ID_MODEL_FROM_DATABASE=nForce 630i memory controller (I-N73V motherboard)
-+ ID_MODEL_FROM_DATABASE=nForce 610i/630i memory controller (I-N73V motherboard)
- 
- pci:v000010DEd000007D6sv00001AFAsd00007150*
-- ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD)
-+ ID_MODEL_FROM_DATABASE=nForce 610i/630i memory controller (JW-IN7150-HD)
- 
- pci:v000010DEd000007D7*
-  ID_MODEL_FROM_DATABASE=MCP73 LPC Bridge
-@@ -27165,10 +27174,10 @@ pci:v000010DEd000007E5*
-  ID_MODEL_FROM_DATABASE=C73 [GeForce 7100 / nForce 620i]
- 
- pci:v000010DEd000007F0*
-- ID_MODEL_FROM_DATABASE=MCP73 IDE
-+ ID_MODEL_FROM_DATABASE=MCP73 SATA Controller (IDE mode)
- 
- pci:v000010DEd000007F0sv0000147Bsd00001C3E*
-- ID_MODEL_FROM_DATABASE=MCP73 IDE (I-N73V motherboard)
-+ ID_MODEL_FROM_DATABASE=MCP73 SATA Controller (IDE mode) (I-N73V motherboard)
- 
- pci:v000010DEd000007F4*
-  ID_MODEL_FROM_DATABASE=GeForce 7100/nForce 630i SATA
-@@ -27176,9 +27185,15 @@ pci:v000010DEd000007F4*
- pci:v000010DEd000007F4sv00001019sd0000297A*
-  ID_MODEL_FROM_DATABASE=GeForce 7100/nForce 630i SATA (MCP73PVT-SM)
- 
-+pci:v000010DEd000007F4sv0000147Bsd00001C3E*
-+ ID_MODEL_FROM_DATABASE=GeForce 7100/nForce 630i SATA (I-N73V motherboard)
-+
- pci:v000010DEd000007F8*
-  ID_MODEL_FROM_DATABASE=MCP73 SATA RAID Controller
- 
-+pci:v000010DEd000007F8sv0000147Bsd00001C3E*
-+ ID_MODEL_FROM_DATABASE=MCP73 SATA RAID Controller (I-N73V motherboard)
-+
- pci:v000010DEd000007FC*
-  ID_MODEL_FROM_DATABASE=MCP73 High Definition Audio
- 
-@@ -27192,16 +27207,16 @@ pci:v000010DEd000007FCsv0000147Bsd00001C3E*
-  ID_MODEL_FROM_DATABASE=MCP73 High Definition Audio (I-N73V motherboard)
- 
- pci:v000010DEd000007FE*
-- ID_MODEL_FROM_DATABASE=GeForce 7100/nForce 630i USB
-+ ID_MODEL_FROM_DATABASE=MCP73 OHCI USB 1.1 Controller
- 
- pci:v000010DEd000007FEsv00001019sd0000297A*
-- ID_MODEL_FROM_DATABASE=GeForce 7100/nForce 630i USB (MCP73PVT-SM)
-+ ID_MODEL_FROM_DATABASE=MCP73 OHCI USB 1.1 Controller (MCP73PVT-SM)
- 
- pci:v000010DEd000007FEsv0000147Bsd00001C3E*
-- ID_MODEL_FROM_DATABASE=GeForce 7100/nForce 630i USB (I-N73V motherboard)
-+ ID_MODEL_FROM_DATABASE=MCP73 OHCI USB 1.1 Controller (I-N73V motherboard)
- 
- pci:v000010DEd000007FEsv00001AFAsd00007150*
-- ID_MODEL_FROM_DATABASE=GeForce 7100/nForce 630i USB (JW-IN7150-HD)
-+ ID_MODEL_FROM_DATABASE=MCP73 OHCI USB 1.1 Controller (JW-IN7150-HD)
- 
- pci:v000010DEd00000840*
-  ID_MODEL_FROM_DATABASE=C77 [GeForce 8200M]
-@@ -30269,12 +30284,18 @@ pci:v000010DEd000013D8*
- pci:v000010DEd000013D9*
-  ID_MODEL_FROM_DATABASE=GM204M [GeForce GTX 965M]
- 
-+pci:v000010DEd000013F2*
-+ ID_MODEL_FROM_DATABASE=GM204GL [Tesla M60]
-+
- pci:v000010DEd00001401*
-  ID_MODEL_FROM_DATABASE=GM206 [GeForce GTX 960]
- 
- pci:v000010DEd000017C2*
-  ID_MODEL_FROM_DATABASE=GM200 [GeForce GTX TITAN X]
- 
-+pci:v000010DEd000017C8*
-+ ID_MODEL_FROM_DATABASE=GM200 [GeForce GTX 980 Ti]
-+
- pci:v000010DEd000017F0*
-  ID_MODEL_FROM_DATABASE=GM200GL [Quadro M6000]
- 
-@@ -31673,12 +31694,21 @@ pci:v00001103d00000622*
- pci:v00001103d00000640*
-  ID_MODEL_FROM_DATABASE=RocketRAID 640 4 Port SATA-III Controller
- 
-+pci:v00001103d00000641*
-+ ID_MODEL_FROM_DATABASE=RocketRAID 640L 4 Port SATA-III Controller
-+
-+pci:v00001103d00000642*
-+ ID_MODEL_FROM_DATABASE=RocketRAID 642L 2 Port SATA-III Controller (eSATA)
-+
- pci:v00001103d00000644*
-  ID_MODEL_FROM_DATABASE=RocketRAID 644 4 Port SATA-III Controller (eSATA)
- 
- pci:v00001103d00000645*
-  ID_MODEL_FROM_DATABASE=RocketRAID 644L 4 Port SATA-III Controller (eSATA)
- 
-+pci:v00001103d00000646*
-+ ID_MODEL_FROM_DATABASE=RocketRAID 644LS SATA-III Controller (4 eSATA devices connected by 1 SAS cable)
-+
- pci:v00001103d00001720*
-  ID_MODEL_FROM_DATABASE=RocketRAID 1720 (2x SATA II RAID Controller)
- 
-@@ -32441,6 +32471,9 @@ pci:v00001106d00003058sv00001462sd00003092*
- pci:v00001106d00003058sv00001462sd00003300*
-  ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (MS-6330 Onboard Audio)
- 
-+pci:v00001106d00003058sv00001462sd00003400*
-+ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (MS-6340 (VT8363) motherboard)
-+
- pci:v00001106d00003058sv000015DDsd00007609*
-  ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (Onboard Audio)
- 
-@@ -46559,9 +46592,6 @@ pci:v0000148E*
- pci:v0000148F*
-  ID_VENDOR_FROM_DATABASE=Plant Equipment, Inc.
- 
--pci:v0000148Fd00005370*
-- ID_MODEL_FROM_DATABASE=Dexlink AUWL15I1
--
- pci:v00001490*
-  ID_VENDOR_FROM_DATABASE=Stone Microsystems PTY Ltd.
- 
-@@ -63881,6 +63911,9 @@ pci:v00008086d00001A30*
- pci:v00008086d00001A30sv00001028sd0000010E*
-  ID_MODEL_FROM_DATABASE=82845 845 [Brookdale] Chipset Host Bridge (Optiplex GX240)
- 
-+pci:v00008086d00001A30sv0000147Bsd00000505*
-+ ID_MODEL_FROM_DATABASE=82845 845 [Brookdale] Chipset Host Bridge (BL7 motherboard)
-+
- pci:v00008086d00001A30sv000015D9sd00003280*
-  ID_MODEL_FROM_DATABASE=82845 845 [Brookdale] Chipset Host Bridge (Supermicro P4SBE Mainboard)
- 
-@@ -65304,43 +65337,46 @@ pci:v00008086d00002440sv00008086sd00005744*
-  ID_MODEL_FROM_DATABASE=82801BA ISA Bridge (LPC) (S845WD1-E)
- 
- pci:v00008086d00002442*
-- ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1
-+ ID_MODEL_FROM_DATABASE=82801BA/BAM UHCI USB 1.1 Controller #1
- 
- pci:v00008086d00002442sv00001014sd000001C6*
-- ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Netvista A40/A40p)
-+ ID_MODEL_FROM_DATABASE=82801BA/BAM UHCI USB 1.1 Controller #1 (Netvista A40/A40p)
- 
- pci:v00008086d00002442sv00001025sd00001016*
-- ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Travelmate 612 TX)
-+ ID_MODEL_FROM_DATABASE=82801BA/BAM UHCI USB 1.1 Controller #1 (Travelmate 612 TX)
- 
- pci:v00008086d00002442sv00001028sd000000C7*
-- ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Dimension 8100)
-+ ID_MODEL_FROM_DATABASE=82801BA/BAM UHCI USB 1.1 Controller #1 (Dimension 8100)
- 
- pci:v00008086d00002442sv00001028sd000000D8*
-- ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Precision 530)
-+ ID_MODEL_FROM_DATABASE=82801BA/BAM UHCI USB 1.1 Controller #1 (Precision 530)
- 
- pci:v00008086d00002442sv00001028sd0000010E*
-- ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Optiplex GX240)
-+ ID_MODEL_FROM_DATABASE=82801BA/BAM UHCI USB 1.1 Controller #1 (Optiplex GX240)
- 
- pci:v00008086d00002442sv0000103Csd0000126F*
-- ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (e-pc 40)
-+ ID_MODEL_FROM_DATABASE=82801BA/BAM UHCI USB 1.1 Controller #1 (e-pc 40)
- 
- pci:v00008086d00002442sv00001043sd00008027*
-- ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (TUSL2-C Mainboard)
-+ ID_MODEL_FROM_DATABASE=82801BA/BAM UHCI USB 1.1 Controller #1 (TUSL2-C Mainboard)
- 
- pci:v00008086d00002442sv0000104Dsd000080DF*
-- ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Vaio PCG-FX403)
-+ ID_MODEL_FROM_DATABASE=82801BA/BAM UHCI USB 1.1 Controller #1 (Vaio PCG-FX403)
-+
-+pci:v00008086d00002442sv0000147Bsd00000505*
-+ ID_MODEL_FROM_DATABASE=82801BA/BAM UHCI USB 1.1 Controller #1 (BL7 motherboard)
- 
- pci:v00008086d00002442sv0000147Bsd00000507*
-- ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (TH7II-RAID)
-+ ID_MODEL_FROM_DATABASE=82801BA/BAM UHCI USB 1.1 Controller #1 (TH7II-RAID)
- 
- pci:v00008086d00002442sv00008086sd00004532*
-- ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (D815EEA2 mainboard)
-+ ID_MODEL_FROM_DATABASE=82801BA/BAM UHCI USB 1.1 Controller #1 (D815EEA2 mainboard)
- 
- pci:v00008086d00002442sv00008086sd00004557*
-- ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (D815EGEW Mainboard)
-+ ID_MODEL_FROM_DATABASE=82801BA/BAM UHCI USB 1.1 Controller #1 (D815EGEW Mainboard)
- 
- pci:v00008086d00002442sv00008086sd00005744*
-- ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (S845WD1-E mainboard)
-+ ID_MODEL_FROM_DATABASE=82801BA/BAM UHCI USB 1.1 Controller #1 (S845WD1-E mainboard)
- 
- pci:v00008086d00002443*
-  ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller
-@@ -65369,6 +65405,9 @@ pci:v00008086d00002443sv00001043sd00008027*
- pci:v00008086d00002443sv0000104Dsd000080DF*
-  ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (Vaio PCG-FX403)
- 
-+pci:v00008086d00002443sv0000147Bsd00000505*
-+ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (BL7 motherboard)
-+
- pci:v00008086d00002443sv0000147Bsd00000507*
-  ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (TH7II-RAID)
- 
-@@ -65385,37 +65424,40 @@ pci:v00008086d00002443sv00008086sd00005744*
-  ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (S845WD1-E mainboard)
- 
- pci:v00008086d00002444*
-- ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1
-+ ID_MODEL_FROM_DATABASE=82801BA/BAM UHCI USB 1.1 Controller #2
- 
- pci:v00008086d00002444sv00001025sd00001016*
-- ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Travelmate 612 TX)
-+ ID_MODEL_FROM_DATABASE=82801BA/BAM UHCI USB 1.1 Controller #2 (Travelmate 612 TX)
- 
- pci:v00008086d00002444sv00001028sd000000C7*
-- ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Dimension 8100)
-+ ID_MODEL_FROM_DATABASE=82801BA/BAM UHCI USB 1.1 Controller #2 (Dimension 8100)
- 
- pci:v00008086d00002444sv00001028sd000000D8*
-- ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Precision 530)
-+ ID_MODEL_FROM_DATABASE=82801BA/BAM UHCI USB 1.1 Controller #2 (Precision 530)
- 
- pci:v00008086d00002444sv00001028sd0000010E*
-- ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Optiplex GX240)
-+ ID_MODEL_FROM_DATABASE=82801BA/BAM UHCI USB 1.1 Controller #2 (Optiplex GX240)
- 
- pci:v00008086d00002444sv0000103Csd0000126F*
-- ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (e-pc 40)
-+ ID_MODEL_FROM_DATABASE=82801BA/BAM UHCI USB 1.1 Controller #2 (e-pc 40)
- 
- pci:v00008086d00002444sv00001043sd00008027*
-- ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (TUSL2-C Mainboard)
-+ ID_MODEL_FROM_DATABASE=82801BA/BAM UHCI USB 1.1 Controller #2 (TUSL2-C Mainboard)
- 
- pci:v00008086d00002444sv0000104Dsd000080DF*
-- ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Vaio PCG-FX403)
-+ ID_MODEL_FROM_DATABASE=82801BA/BAM UHCI USB 1.1 Controller #2 (Vaio PCG-FX403)
-+
-+pci:v00008086d00002444sv0000147Bsd00000505*
-+ ID_MODEL_FROM_DATABASE=82801BA/BAM UHCI USB 1.1 Controller #2 (BL7 motherboard)
- 
- pci:v00008086d00002444sv0000147Bsd00000507*
-- ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (TH7II-RAID)
-+ ID_MODEL_FROM_DATABASE=82801BA/BAM UHCI USB 1.1 Controller #2 (TH7II-RAID)
- 
- pci:v00008086d00002444sv00008086sd00004532*
-- ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (D815EEA2 mainboard)
-+ ID_MODEL_FROM_DATABASE=82801BA/BAM UHCI USB 1.1 Controller #2 (D815EEA2 mainboard)
- 
- pci:v00008086d00002444sv00008086sd00005744*
-- ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (S845WD1-E mainboard)
-+ ID_MODEL_FROM_DATABASE=82801BA/BAM UHCI USB 1.1 Controller #2 (S845WD1-E mainboard)
- 
- pci:v00008086d00002445*
-  ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller
-@@ -65444,6 +65486,9 @@ pci:v00008086d00002445sv0000104Dsd000080DF*
- pci:v00008086d00002445sv00001462sd00003370*
-  ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller (STAC9721 AC)
- 
-+pci:v00008086d00002445sv0000147Bsd00000505*
-+ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller (BL7 motherboard)
-+
- pci:v00008086d00002445sv0000147Bsd00000507*
-  ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller (TH7II-RAID)
- 
-@@ -65645,6 +65690,9 @@ pci:v00008086d0000244Bsv0000103Csd0000126F*
- pci:v00008086d0000244Bsv00001043sd00008027*
-  ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (TUSL2-C Mainboard)
- 
-+pci:v00008086d0000244Bsv0000147Bsd00000505*
-+ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (BL7 motherboard)
-+
- pci:v00008086d0000244Bsv0000147Bsd00000507*
-  ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (TH7II-RAID)
- 
-@@ -79125,7 +79173,7 @@ pci:v0000DEAFd00009052*
-  ID_MODEL_FROM_DATABASE=PC Weasel Watchdog Timer
- 
- pci:v0000DEDA*
-- ID_VENDOR_FROM_DATABASE=SoftHard Technology Ltd.
-+ ID_VENDOR_FROM_DATABASE=XIMEA
- 
- pci:v0000E000*
-  ID_VENDOR_FROM_DATABASE=Winbond
diff --git a/0038-README-update-links-to-reference-new-home-GitHub.patch b/0038-README-update-links-to-reference-new-home-GitHub.patch
deleted file mode 100644
index e4e3bcd..0000000
--- a/0038-README-update-links-to-reference-new-home-GitHub.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 6f0c06705a671ae53942f52bd7c66eea986150fa Mon Sep 17 00:00:00 2001
-From: Jonathan Boulle <jonathanboulle@gmail.com>
-Date: Tue, 2 Jun 2015 15:57:50 -0700
-Subject: [PATCH] README: update links to reference new home (GitHub)
-
-(cherry picked from commit eb0914fc85812570538c37287dd3cfa377289418)
----
- README | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/README b/README
-index b909b434db..528f957714 100644
---- a/README
-+++ b/README
-@@ -7,11 +7,11 @@ WEB SITE:
-         http://www.freedesktop.org/wiki/Software/systemd
- 
- GIT:
--        git://anongit.freedesktop.org/systemd/systemd
--        ssh://git.freedesktop.org/git/systemd/systemd
-+        git@github.com:systemd/systemd.git
-+        https://github.com/systemd/systemd.git
- 
- GITWEB:
--        http://cgit.freedesktop.org/systemd/systemd
-+        https://github.com/systemd/systemd
- 
- MAILING LIST:
-         http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-@@ -22,6 +22,7 @@ IRC:
- 
- BUG REPORTS:
-         https://bugs.freedesktop.org/enter_bug.cgi?product=systemd
-+        https://github.com/systemd/systemd/issues
- 
- AUTHOR:
-         Lennart Poettering
diff --git a/0039-point-to-github-issues-instead-of-freedesktop-bugzil.patch b/0039-point-to-github-issues-instead-of-freedesktop-bugzil.patch
deleted file mode 100644
index 1788d67..0000000
--- a/0039-point-to-github-issues-instead-of-freedesktop-bugzil.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 182abe6e6881a696fc456a1aadaa90bcebd51ea4 Mon Sep 17 00:00:00 2001
-From: Kay Sievers <kay@vrfy.org>
-Date: Wed, 3 Jun 2015 14:48:55 +0200
-Subject: [PATCH] point to github issues instead of freedesktop bugzilla
-
-(cherry picked from commit 29d01b70640878f63e74ce20cb45fd747311fa18)
----
- README       | 1 -
- configure.ac | 2 +-
- 2 files changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/README b/README
-index 528f957714..c19beffa20 100644
---- a/README
-+++ b/README
-@@ -21,7 +21,6 @@ IRC:
-         #systemd on irc.freenode.org
- 
- BUG REPORTS:
--        https://bugs.freedesktop.org/enter_bug.cgi?product=systemd
-         https://github.com/systemd/systemd/issues
- 
- AUTHOR:
-diff --git a/configure.ac b/configure.ac
-index 0818dd80cf..fa3232e3c1 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -21,7 +21,7 @@ AC_PREREQ([2.64])
- 
- AC_INIT([systemd],
-         [220],
--        [http://bugs.freedesktop.org/enter_bug.cgi?product=systemd],
-+        [http://github.com/systemd/systemd/issues]
-         [systemd],
-         [http://www.freedesktop.org/wiki/Software/systemd])
- 
diff --git a/0040-configure.ac-add-missing-komma.patch b/0040-configure.ac-add-missing-komma.patch
deleted file mode 100644
index d4f7c31..0000000
--- a/0040-configure.ac-add-missing-komma.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From d203089834c735b422f48cafe917aab1134591b3 Mon Sep 17 00:00:00 2001
-From: Kay Sievers <kay@vrfy.org>
-Date: Wed, 3 Jun 2015 14:50:58 +0200
-Subject: [PATCH] configure.ac: add missing komma
-
-(cherry picked from commit 1a435084b7f55bc24042f9bc47c18e4e2381f667)
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index fa3232e3c1..ffde0a667b 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -21,7 +21,7 @@ AC_PREREQ([2.64])
- 
- AC_INIT([systemd],
-         [220],
--        [http://github.com/systemd/systemd/issues]
-+        [http://github.com/systemd/systemd/issues],
-         [systemd],
-         [http://www.freedesktop.org/wiki/Software/systemd])
- 
diff --git a/0041-util-fix-another-cunescape-regression.patch b/0041-util-fix-another-cunescape-regression.patch
deleted file mode 100644
index 0d17cbf..0000000
--- a/0041-util-fix-another-cunescape-regression.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From c47edbd3bfaf64ad8fa3d105029bed8667baf275 Mon Sep 17 00:00:00 2001
-From: Daniel Mack <daniel@zonque.org>
-Date: Wed, 3 Jun 2015 13:33:26 +0200
-Subject: [PATCH] util: fix another cunescape() regression
-
-Fix a regression caused by 4034a06d ("util: rework word parsing and c
-unescaping code") which broke octal escape sequences.
-
-The reason for this breakage is that cunescape_one() expects 4 characters
-in an octal encoding, which is a stray left-over from the old code which
-operated on different variables to make the length check.
-
-While at it, add a test case to prevent the same thing from happening
-again.
-
-(cherry picked from commit 3b51f8ddd5408eaae06e774e40144c7788748000)
----
- src/shared/util.c    | 2 +-
- src/test/test-util.c | 3 +++
- 2 files changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/src/shared/util.c b/src/shared/util.c
-index 74a2190031..57782ba687 100644
---- a/src/shared/util.c
-+++ b/src/shared/util.c
-@@ -1186,7 +1186,7 @@ static int cunescape_one(const char *p, size_t length, char *ret, uint32_t *ret_
-                 int a, b, c;
-                 uint32_t m;
- 
--                if (length != (size_t) -1 && length < 4)
-+                if (length != (size_t) -1 && length < 3)
-                         return -EINVAL;
- 
-                 a = unoctchar(p[0]);
-diff --git a/src/test/test-util.c b/src/test/test-util.c
-index 36773c109d..fab485fa14 100644
---- a/src/test/test-util.c
-+++ b/src/test/test-util.c
-@@ -459,6 +459,9 @@ static void test_cunescape(void) {
-         assert_se(cunescape("\\u0000", 0, &unescaped) < 0);
-         assert_se(cunescape("\\u00DF\\U000000df\\u03a0\\U00000041", UNESCAPE_RELAX, &unescaped) >= 0);
-         assert_se(streq_ptr(unescaped, "ßßΠA"));
-+
-+        assert_se(cunescape("\\073", 0, &unescaped) >= 0);
-+        assert_se(streq_ptr(unescaped, ";"));
- }
- 
- static void test_foreach_word(void) {
diff --git a/0042-test-unit-file.c-fixup-the-test-for-commit-3b51f8ddd.patch b/0042-test-unit-file.c-fixup-the-test-for-commit-3b51f8ddd.patch
deleted file mode 100644
index 59c5eb3..0000000
--- a/0042-test-unit-file.c-fixup-the-test-for-commit-3b51f8ddd.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 2f07442729010a010c88b34a0d5fc51d30e622ea Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Wed, 3 Jun 2015 16:36:20 +0200
-Subject: [PATCH] test-unit-file.c: fixup the test for commit 3b51f8ddd5
-
-(cherry picked from commit ce54255fa599d32738a311c77331fa611e6cfa5e)
----
- src/test/test-unit-file.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/test/test-unit-file.c b/src/test/test-unit-file.c
-index 31b12d50d7..a8025c825b 100644
---- a/src/test/test-unit-file.c
-+++ b/src/test/test-unit-file.c
-@@ -232,7 +232,7 @@ static void test_config_parse_exec(void) {
-                               &c, NULL);
-         assert_se(r >= 0);
-         c1 = c1->command_next;
--        check_execcommand(c1, "/bin/find", NULL, "\\073", NULL, false);
-+        check_execcommand(c1, "/bin/find", NULL, ";", NULL, false);
- 
-         log_info("/* spaces in the filename */");
-         r = config_parse_exec(NULL, "fake", 5, "section", 1,
diff --git a/0043-systemctl-Use-usr-bin-editor-if-available.patch b/0043-systemctl-Use-usr-bin-editor-if-available.patch
deleted file mode 100644
index 225c373..0000000
--- a/0043-systemctl-Use-usr-bin-editor-if-available.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 1e534b8a0da393c90b6dedeb5fdd1abd08293ae7 Mon Sep 17 00:00:00 2001
-From: Michael Biebl <biebl@debian.org>
-Date: Wed, 3 Jun 2015 14:00:59 +0200
-Subject: [PATCH] systemctl: Use /usr/bin/editor if available
-
-If the EDITOR environment variable is not set, the Debian policy
-recommends to use the /usr/bin/editor program as default editor.
-This file is managed via the dpkg alternatives mechanism and typically
-used in Debian/Ubuntu and derivatives to configure the default editor.
-
-See section 11.4 of the Debian policy [1].
-
-Therefor prefer /usr/bin/editor over specific editors if available.
-
-[1] https://www.debian.org/doc/debian-policy/ch-customized-programs.html
-
-(cherry picked from commit 9391a1c3d6c94c478b0016a81df3f874fd99260e)
----
- man/systemctl.xml         | 1 +
- src/systemctl/systemctl.c | 2 +-
- 2 files changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/man/systemctl.xml b/man/systemctl.xml
-index 94a77bce0c..9b79c2df0f 100644
---- a/man/systemctl.xml
-+++ b/man/systemctl.xml
-@@ -1730,6 +1730,7 @@ 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 project='die-net'><refentrytitle>editor</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>.
-diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c
-index f8e10a4710..cf5aa07ac6 100644
---- a/src/systemctl/systemctl.c
-+++ b/src/systemctl/systemctl.c
-@@ -5870,7 +5870,7 @@ static int run_editor(char **paths) {
-                         execvp(editor, (char* const*) args);
-                 }
- 
--                FOREACH_STRING(p, "nano", "vim", "vi") {
-+                FOREACH_STRING(p, "editor", "nano", "vim", "vi") {
-                         args[0] = p;
-                         execvp(p, (char* const*) args);
-                         /* We do not fail if the editor doesn't exist
diff --git a/0044-libudev-enumerate-accept-NULL-parameters-in-add_matc.patch b/0044-libudev-enumerate-accept-NULL-parameters-in-add_matc.patch
deleted file mode 100644
index 5dcd375..0000000
--- a/0044-libudev-enumerate-accept-NULL-parameters-in-add_matc.patch
+++ /dev/null
@@ -1,137 +0,0 @@
-From 929227823d61ecc408d85b328ab04604e7f540cf Mon Sep 17 00:00:00 2001
-From: Tom Gundersen <teg@jklm.no>
-Date: Wed, 3 Jun 2015 22:08:46 +0200
-Subject: [PATCH] libudev: enumerate - accept NULL parameters in add_match()
-
-This was a regression introduced when moving to sd-device.
-
-(cherry picked from commit 54f0b4d9a3e3e1b955d0b0021d9678571d91a5ef)
----
- src/libsystemd/sd-device/device-enumerator.c | 18 ++++++++++--------
- src/libudev/libudev-enumerate.c              | 21 +++++++++++++++++++++
- 2 files changed, 31 insertions(+), 8 deletions(-)
-
-diff --git a/src/libsystemd/sd-device/device-enumerator.c b/src/libsystemd/sd-device/device-enumerator.c
-index 3692d46e06..7fd77e9480 100644
---- a/src/libsystemd/sd-device/device-enumerator.c
-+++ b/src/libsystemd/sd-device/device-enumerator.c
-@@ -137,7 +137,6 @@ _public_ int sd_device_enumerator_add_match_sysattr(sd_device_enumerator *enumer
- 
-         assert_return(enumerator, -EINVAL);
-         assert_return(_sysattr, -EINVAL);
--        assert_return(_value, -EINVAL);
- 
-         if (match)
-                 hashmap = &enumerator->match_sysattr;
-@@ -152,9 +151,11 @@ _public_ int sd_device_enumerator_add_match_sysattr(sd_device_enumerator *enumer
-         if (!sysattr)
-                 return -ENOMEM;
- 
--        value = strdup(_value);
--        if (!value)
--                return -ENOMEM;
-+        if (_value) {
-+                value = strdup(_value);
-+                if (!value)
-+                        return -ENOMEM;
-+        }
- 
-         r = hashmap_put(*hashmap, sysattr, value);
-         if (r < 0)
-@@ -174,7 +175,6 @@ _public_ int sd_device_enumerator_add_match_property(sd_device_enumerator *enume
- 
-         assert_return(enumerator, -EINVAL);
-         assert_return(_property, -EINVAL);
--        assert_return(_value, -EINVAL);
- 
-         r = hashmap_ensure_allocated(&enumerator->match_property, NULL);
-         if (r < 0)
-@@ -184,9 +184,11 @@ _public_ int sd_device_enumerator_add_match_property(sd_device_enumerator *enume
-         if (!property)
-                 return -ENOMEM;
- 
--        value = strdup(_value);
--        if (!value)
--                return -ENOMEM;
-+        if (_value) {
-+                value = strdup(_value);
-+                if (!value)
-+                        return -ENOMEM;
-+        }
- 
-         r = hashmap_put(enumerator->match_property, property, value);
-         if (r < 0)
-diff --git a/src/libudev/libudev-enumerate.c b/src/libudev/libudev-enumerate.c
-index 255fbe808d..df088946df 100644
---- a/src/libudev/libudev-enumerate.c
-+++ b/src/libudev/libudev-enumerate.c
-@@ -196,6 +196,9 @@ _public_ struct udev_list_entry *udev_enumerate_get_list_entry(struct udev_enume
- _public_ int udev_enumerate_add_match_subsystem(struct udev_enumerate *udev_enumerate, const char *subsystem) {
-         assert_return(udev_enumerate, -EINVAL);
- 
-+        if (!subsystem)
-+                return 0;
-+
-         return sd_device_enumerator_add_match_subsystem(udev_enumerate->enumerator, subsystem, true);
- }
- 
-@@ -211,6 +214,9 @@ _public_ int udev_enumerate_add_match_subsystem(struct udev_enumerate *udev_enum
- _public_ int udev_enumerate_add_nomatch_subsystem(struct udev_enumerate *udev_enumerate, const char *subsystem) {
-         assert_return(udev_enumerate, -EINVAL);
- 
-+        if (!subsystem)
-+                return 0;
-+
-         return sd_device_enumerator_add_match_subsystem(udev_enumerate->enumerator, subsystem, false);
- }
- 
-@@ -227,6 +233,9 @@ _public_ int udev_enumerate_add_nomatch_subsystem(struct udev_enumerate *udev_en
- _public_ int udev_enumerate_add_match_sysattr(struct udev_enumerate *udev_enumerate, const char *sysattr, const char *value) {
-         assert_return(udev_enumerate, -EINVAL);
- 
-+        if (!sysattr)
-+                return 0;
-+
-         return sd_device_enumerator_add_match_sysattr(udev_enumerate->enumerator, sysattr, value, true);
- }
- 
-@@ -243,6 +252,9 @@ _public_ int udev_enumerate_add_match_sysattr(struct udev_enumerate *udev_enumer
- _public_ int udev_enumerate_add_nomatch_sysattr(struct udev_enumerate *udev_enumerate, const char *sysattr, const char *value) {
-         assert_return(udev_enumerate, -EINVAL);
- 
-+        if (!sysattr)
-+                return 0;
-+
-         return sd_device_enumerator_add_match_sysattr(udev_enumerate->enumerator, sysattr, value, false);
- }
- 
-@@ -259,6 +271,9 @@ _public_ int udev_enumerate_add_nomatch_sysattr(struct udev_enumerate *udev_enum
- _public_ int udev_enumerate_add_match_property(struct udev_enumerate *udev_enumerate, const char *property, const char *value) {
-         assert_return(udev_enumerate, -EINVAL);
- 
-+        if (!property)
-+                return 0;
-+
-         return sd_device_enumerator_add_match_property(udev_enumerate->enumerator, property, value);
- }
- 
-@@ -274,6 +289,9 @@ _public_ int udev_enumerate_add_match_property(struct udev_enumerate *udev_enume
- _public_ int udev_enumerate_add_match_tag(struct udev_enumerate *udev_enumerate, const char *tag) {
-         assert_return(udev_enumerate, -EINVAL);
- 
-+        if (!tag)
-+                return 0;
-+
-         return sd_device_enumerator_add_match_tag(udev_enumerate->enumerator, tag);
- }
- 
-@@ -335,6 +353,9 @@ _public_ int udev_enumerate_add_match_is_initialized(struct udev_enumerate *udev
- _public_ int udev_enumerate_add_match_sysname(struct udev_enumerate *udev_enumerate, const char *sysname) {
-         assert_return(udev_enumerate, -EINVAL);
- 
-+        if (!sysname)
-+                return 0;
-+
-         return sd_device_enumerator_add_match_sysname(udev_enumerate->enumerator, sysname);
- }
- 
diff --git a/0045-Add-dev-xvd-to-60-persistent-storage-whitelist.patch b/0045-Add-dev-xvd-to-60-persistent-storage-whitelist.patch
deleted file mode 100644
index f0c2e6a..0000000
--- a/0045-Add-dev-xvd-to-60-persistent-storage-whitelist.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From fa7f0bc082bbcfaa997f949b8b4a035fd8a01eda Mon Sep 17 00:00:00 2001
-From: Ed Swierk <eswierk@skyportsystems.com>
-Date: Wed, 3 Jun 2015 08:08:37 -0700
-Subject: [PATCH] Add /dev/xvd* to 60-persistent-storage whitelist Without
- this, systemd-udevd does not create persistent storage symlinks for xen block
- devices.
-
-(cherry picked from commit ff2aa01e61f8aff149b63231365f1cef008296a2)
----
- rules/60-persistent-storage.rules | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/rules/60-persistent-storage.rules b/rules/60-persistent-storage.rules
-index 2aa15f3411..64c5f1cfdd 100644
---- a/rules/60-persistent-storage.rules
-+++ b/rules/60-persistent-storage.rules
-@@ -6,7 +6,7 @@
- ACTION=="remove", GOTO="persistent_storage_end"
- 
- SUBSYSTEM!="block", GOTO="persistent_storage_end"
--KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|sd*|sr*|vd*|bcache*", GOTO="persistent_storage_end"
-+KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|sd*|sr*|vd*|bcache*|xvd*", GOTO="persistent_storage_end"
- 
- # ignore partitions that span the entire disk
- TEST=="whole_disk", GOTO="persistent_storage_end"
diff --git a/0046-hwdb-add-Apple-MagicMouse-entry.patch b/0046-hwdb-add-Apple-MagicMouse-entry.patch
deleted file mode 100644
index ef9c7db..0000000
--- a/0046-hwdb-add-Apple-MagicMouse-entry.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 78ec5ea630547d9ec60c4e6afd6abf054681dbd6 Mon Sep 17 00:00:00 2001
-From: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Thu, 4 Jun 2015 16:05:08 +1000
-Subject: [PATCH] hwdb: add Apple MagicMouse entry
-
-(cherry picked from commit 68a6ac91a1b8454a5f21846ffef3e1f024707b27)
----
- hwdb/70-mouse.hwdb | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-diff --git a/hwdb/70-mouse.hwdb b/hwdb/70-mouse.hwdb
-index 8174f2762e..2784b941a1 100644
---- a/hwdb/70-mouse.hwdb
-+++ b/hwdb/70-mouse.hwdb
-@@ -102,6 +102,16 @@
- # For mice with switchable resolution, sort by the starred entry.
- 
- ##########################################
-+# Apple
-+##########################################
-+
-+# Apple MagicMouse
-+# Note: this device changes name once connected to a mac, the name ends up
-+# as $username`s mouse
-+mouse:bluetooth:v05acp030d:name:*:
-+ MOUSE_DPI=1300@1000
-+
-+##########################################
- # Chicony
- ##########################################
- 
diff --git a/0047-logind-Add-a-udev-rule-to-tag-all-DRM-cards-with-mas.patch b/0047-logind-Add-a-udev-rule-to-tag-all-DRM-cards-with-mas.patch
deleted file mode 100644
index e6d0f69..0000000
--- a/0047-logind-Add-a-udev-rule-to-tag-all-DRM-cards-with-mas.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 2259b85e4722ec81a11229e3f2d8abb1b3e93a8b Mon Sep 17 00:00:00 2001
-From: Philip Withnall <philip.withnall@collabora.co.uk>
-Date: Tue, 2 Jun 2015 15:24:48 +0100
-Subject: [PATCH] logind: Add a udev rule to tag all DRM cards with
- master-of-seat
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This is needed for generic DRM devices like the VirtualBox vboxvideo
-driver, which exposes itself as a generic, ID-less DRM device at
-/dev/dri/card0 (after applying this commit):
-   $ udevadm info --query=all --path \
-      /sys/devices/pci0000:00/0000:00:02.0/drm/card0
-   P: /devices/pci0000:00/0000:00:02.0/drm/card0
-   N: dri/card0
-   E: DEVNAME=/dev/dri/card0
-   E: DEVPATH=/devices/pci0000:00/0000:00:02.0/drm/card0
-   E: DEVTYPE=drm_minor
-   E: ID_FOR_SEAT=drm-pci-0000_00_02_0
-   E: ID_PATH=pci-0000:00:02.0
-   E: ID_PATH_TAG=pci-0000_00_02_0
-   E: MAJOR=226
-   E: MINOR=0
-   E: SUBSYSTEM=drm
-   E: TAGS=:master-of-seat:seat:uaccess:
-   E: USEC_INITIALIZED=59893
-
-Without this patch, the capabilities for a seat on a VirtualBox
-installation of systemd v219 incorrectly show it as non-graphical, even
-though I can type these commands from an xterm:
-   $ loginctl show-seat seat0
-   Id=seat0
-   CanMultiSession=yes
-   CanTTY=yes
-   CanGraphical=no
-   …
-
-https://bugs.freedesktop.org/show_bug.cgi?id=90822
-(cherry picked from commit ed817cd4e58c5f5c868d5d9e59a1d7e66b1da165)
----
- src/login/71-seat.rules.in | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/login/71-seat.rules.in b/src/login/71-seat.rules.in
-index ad26acbbb3..ab7b66f651 100644
---- a/src/login/71-seat.rules.in
-+++ b/src/login/71-seat.rules.in
-@@ -11,6 +11,7 @@ TAG=="uaccess", SUBSYSTEM!="sound", TAG+="seat"
- SUBSYSTEM=="sound", KERNEL=="card*", TAG+="seat"
- SUBSYSTEM=="input", KERNEL=="input*", TAG+="seat"
- SUBSYSTEM=="graphics", KERNEL=="fb[0-9]*", TAG+="seat", TAG+="master-of-seat"
-+SUBSYSTEM=="drm", KERNEL=="card[0-9]*", TAG+="seat", TAG+="master-of-seat"
- SUBSYSTEM=="usb", ATTR{bDeviceClass}=="09", TAG+="seat"
- 
- # 'Plugable' USB hub, sound, network, graphics adapter
diff --git a/0048-logind-Save-the-user-s-state-when-a-session-enters-S.patch b/0048-logind-Save-the-user-s-state-when-a-session-enters-S.patch
deleted file mode 100644
index 8c2db73..0000000
--- a/0048-logind-Save-the-user-s-state-when-a-session-enters-S.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From a3f788f9a2f5263fd91b5fbd2fce87af9dceca68 Mon Sep 17 00:00:00 2001
-From: Philip Withnall <philip.withnall@collabora.co.uk>
-Date: Tue, 2 Jun 2015 14:17:10 +0100
-Subject: [PATCH] =?UTF-8?q?logind:=20Save=20the=20user=E2=80=99s=20state?=
- =?UTF-8?q?=20when=20a=20session=20enters=20SESSION=5FACTIVE?=
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-When (for example) switching from X11 to a new VT and logging in there,
-creating a new session, the user state file (/run/systemd/users/$uid) is
-not updated after the session becomes active. The latest time it is
-saved is when the session is in SESSION_OPENING.
-
-This results in a /run/systemd/users/$uid file which contains
-STATE=online for the current user on the current active VT, which is
-obviously wrong.
-
-As functions like sd_uid_get_state() use this file to get the user’s
-state, this could result in things like PolicyKit making incorrect
-decisions about the user’s state. (See
-https://bugs.freedesktop.org/show_bug.cgi?id=76358.)
-
-Fix this by re-saving the state for a session’s user after completing
-the state_job for that session.
-
-https://bugs.freedesktop.org/show_bug.cgi?id=90818
-(cherry picked from commit 41dfeaa194c18de49706b5cecf4e53accd12b7f6)
----
- src/login/logind-dbus.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c
-index 3555bcc2f5..47646a81bb 100644
---- a/src/login/logind-dbus.c
-+++ b/src/login/logind-dbus.c
-@@ -2522,6 +2522,7 @@ int match_job_removed(sd_bus_message *message, void *userdata, sd_bus_error *err
-                 session_jobs_reply(session, unit, result);
- 
-                 session_save(session);
-+                user_save(session->user);
-                 session_add_to_gc_queue(session);
-         }
- 
diff --git a/0049-small-fix-ru-translation.patch b/0049-small-fix-ru-translation.patch
deleted file mode 100644
index ebe962a..0000000
--- a/0049-small-fix-ru-translation.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From f6c1eee14b2c568008f8f43f6c4ee0aebbf2acff Mon Sep 17 00:00:00 2001
-From: kloun <andrey0bolkonsky@gmail.com>
-Date: Thu, 4 Jun 2015 17:56:59 +0300
-Subject: [PATCH] small fix ru translation (cherry picked from commit
- fcf3f5958e0441c9cc00f035ef6c86c278442366)
-
----
- catalog/systemd.ru.catalog | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/catalog/systemd.ru.catalog b/catalog/systemd.ru.catalog
-index f99532469a..03eea04c9f 100644
---- a/catalog/systemd.ru.catalog
-+++ b/catalog/systemd.ru.catalog
-@@ -81,7 +81,7 @@ Documentation: man:core(5)
- Записан дамп памяти.
- 
- Вероятно, это произошло из-за ошибки, допущенной в коде программы.
--Рекомендуется сообщить ее разработчикам о возникшей проблеме.
-+Рекомендуется сообщить её разработчикам о возникшей проблеме.
- 
- # Subject: A new session @SESSION_ID@ has been created for user @USER_ID@
- -- 8d45620c1a4348dbb17410da57c60c66
-@@ -146,7 +146,7 @@ Defined-By: systemd
- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
- 
- Все системные службы, запуск которых предписан настройками, были запущены.
--Впрочем, это еще не означает, что система в данный момент ничем не занята,
-+Впрочем, это ещё не означает, что система в данный момент ничем не занята,
- так как некоторые службы могут продолжать инициализацию даже после того, как
- отчитались о своем запуске.
- 
-@@ -274,7 +274,7 @@ Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
- столбце файла /etc/fstab, либо в параметре Where= файла конфигурации юнита),
- не является пустым. Это никак не мешает монтированию, однако ранее находившиеся
- в нем файлы будут недоступны. Чтобы получить к ним доступ, вы можете вручную
--перемонтировать нижележащую файловую систему в другую точку.
-+перемонтировать эту файловую систему в другую точку.
- 
- # Subject: A virtual machine or container has been started
- -- 24d8d4452573402496068381a6312df2
diff --git a/0050-core-mount-skip-incomplete-mountinfo-entries.patch b/0050-core-mount-skip-incomplete-mountinfo-entries.patch
deleted file mode 100644
index 3de48c3..0000000
--- a/0050-core-mount-skip-incomplete-mountinfo-entries.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 424873fd1c78edd597a02cbf4a402450369b0905 Mon Sep 17 00:00:00 2001
-From: Daniel Mack <daniel@zonque.org>
-Date: Thu, 4 Jun 2015 15:39:49 +0200
-Subject: [PATCH] core/mount: skip incomplete mountinfo entries
-
-Skip /proc/mountinfo entries for which libmount returns a NULL pointer
-for 'source' or 'target'. This happened on Semaphore CI's build servers
-when the test suite is run.
-
-(cherry picked from commit c0a7f8d3cb757cf750fc6788df0d215f6457c09d)
----
- src/core/mount.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/src/core/mount.c b/src/core/mount.c
-index ba1dcf1e85..851b41351e 100644
---- a/src/core/mount.c
-+++ b/src/core/mount.c
-@@ -1522,6 +1522,9 @@ static int mount_load_proc_self_mountinfo(Manager *m, bool set_flags) {
-                 options = mnt_fs_get_options(fs);
-                 fstype = mnt_fs_get_fstype(fs);
- 
-+                if (!device || !path)
-+                        continue;
-+
-                 if (cunescape(device, UNESCAPE_RELAX, &d) < 0)
-                         return log_oom();
- 
diff --git a/0051-fstab-generator-cescape-device-name-in-root-fsck-ser.patch b/0051-fstab-generator-cescape-device-name-in-root-fsck-ser.patch
deleted file mode 100644
index 3ce91d2..0000000
--- a/0051-fstab-generator-cescape-device-name-in-root-fsck-ser.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 413b9df4a84291dfeb28133f4b30790b7ad9f903 Mon Sep 17 00:00:00 2001
-From: Andrei Borzenkov <arvidjaar@gmail.com>
-Date: Wed, 3 Jun 2015 20:50:59 +0300
-Subject: [PATCH] fstab-generator: cescape device name in root-fsck service
-
-We unescape ExecStart line when parsing it, so escape device name
-before adding it to unit file.
-
-fixes #50
-
-(cherry picked from commit fa05e97257fc54b05e4c272dfc19cea46511b823)
----
- src/shared/generator.c | 10 ++++++++--
- 1 file changed, 8 insertions(+), 2 deletions(-)
-
-diff --git a/src/shared/generator.c b/src/shared/generator.c
-index 807569a1b8..e58bbea77c 100644
---- a/src/shared/generator.c
-+++ b/src/shared/generator.c
-@@ -34,9 +34,14 @@
- static int write_fsck_sysroot_service(const char *dir, const char *what) {
-         const char *unit;
-         _cleanup_free_ char *device = NULL;
-+        _cleanup_free_ char *escaped;
-         _cleanup_fclose_ FILE *f = NULL;
-         int r;
- 
-+        escaped = cescape(what);
-+        if (!escaped)
-+                return log_oom();
-+
-         unit = strjoina(dir, "/systemd-fsck-root.service");
-         log_debug("Creating %s", unit);
- 
-@@ -61,11 +66,12 @@ static int write_fsck_sysroot_service(const char *dir, const char *what) {
-                 "[Service]\n"
-                 "Type=oneshot\n"
-                 "RemainAfterExit=yes\n"
--                "ExecStart=" SYSTEMD_FSCK_PATH " %2$s\n"
-+                "ExecStart=" SYSTEMD_FSCK_PATH " %4$s\n"
-                 "TimeoutSec=0\n",
-                 program_invocation_short_name,
-                 what,
--                device);
-+                device,
-+                escaped);
- 
-         r = fflush_and_check(f);
-         if (r < 0)
diff --git a/0052-logind-Fix-user_elect_display-to-be-more-stable.patch b/0052-logind-Fix-user_elect_display-to-be-more-stable.patch
deleted file mode 100644
index bcc851f..0000000
--- a/0052-logind-Fix-user_elect_display-to-be-more-stable.patch
+++ /dev/null
@@ -1,150 +0,0 @@
-From 75aad3b101548151905d528269ffd2a388955193 Mon Sep 17 00:00:00 2001
-From: Philip Withnall <philip.withnall@collabora.co.uk>
-Date: Fri, 29 May 2015 10:49:21 +0100
-Subject: [PATCH] logind: Fix user_elect_display() to be more stable
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The previous implementation of user_elect_display() could easily end up
-overwriting the user’s valid graphical session with a new TTY session.
-For example, consider the situation where there is one session:
-   c1, type = SESSION_X11, !stopping, class = SESSION_USER
-it is initially elected as the user’s display (i.e. u->display = c1).
-
-If another session is started, on a different VT, the sessions_by_user
-list becomes:
-   c1, type = SESSION_X11, !stopping, class = SESSION_USER
-   c2, type = SESSION_TTY, !stopping, class = SESSION_USER
-
-In the previous code, graphical = c1 and text = c2, as expected.
-However, neither graphical nor text fulfil the conditions for setting
-u->display = graphical (because neither is better than u->display), so
-the code falls through to check the text variable. The conditions for
-this match, as u->display->type != SESSION_TTY (it’s actually
-SESSION_X11). Hence u->display is set to c2, which is incorrect, because
-session c1 is still valid.
-
-Refactor user_elect_display() to use a more explicit filter and
-pre-order comparison over the sessions. This can be demonstrated to be
-stable and only ever ‘upgrade’ the session to a more graphical one.
-
-https://bugs.freedesktop.org/show_bug.cgi?id=90769
-(cherry picked from commit 7ffeb45cc63e1326690fd9461b7a4719a3d4f85c)
----
- src/login/logind-user.c | 90 +++++++++++++++++++++++++++++--------------------
- 1 file changed, 54 insertions(+), 36 deletions(-)
-
-diff --git a/src/login/logind-user.c b/src/login/logind-user.c
-index 71bff96728..2f62e34f63 100644
---- a/src/login/logind-user.c
-+++ b/src/login/logind-user.c
-@@ -738,54 +738,72 @@ int user_kill(User *u, int signo) {
-         return manager_kill_unit(u->manager, u->slice, KILL_ALL, signo, NULL);
- }
- 
-+static bool
-+elect_display_filter(Session *s) {
-+        /* Return true if the session is a candidate for the user’s ‘primary
-+         * session’ or ‘display’. */
-+        assert(s);
-+
-+        return (s->class == SESSION_USER && !s->stopping);
-+}
-+
-+static int
-+elect_display_compare(Session *s1, Session *s2) {
-+        /* Indexed by SessionType. Lower numbers mean more preferred. */
-+        const int type_ranks[_SESSION_TYPE_MAX] = {
-+                [SESSION_UNSPECIFIED] = 0,
-+                [SESSION_TTY] = -2,
-+                [SESSION_X11] = -3,
-+                [SESSION_WAYLAND] = -3,
-+                [SESSION_MIR] = -3,
-+                [SESSION_WEB] = -1,
-+        };
-+
-+        /* Calculate the partial order relationship between s1 and s2,
-+         * returning < 0 if s1 is preferred as the user’s ‘primary session’,
-+         * 0 if s1 and s2 are equally preferred or incomparable, or > 0 if s2
-+         * is preferred.
-+         *
-+         * s1 or s2 may be NULL. */
-+        if ((s1 == NULL) != (s2 == NULL))
-+                return (s1 == NULL) - (s2 == NULL);
-+
-+        if (s1->stopping != s2->stopping)
-+                return s1->stopping - s2->stopping;
-+
-+        if ((s1->class != SESSION_USER) != (s2->class != SESSION_USER))
-+                return (s1->class != SESSION_USER) - (s2->class != SESSION_USER);
-+
-+        if ((s1->type == _SESSION_TYPE_INVALID) != (s2->type == _SESSION_TYPE_INVALID))
-+                return (s1->type == _SESSION_TYPE_INVALID) - (s2->type == _SESSION_TYPE_INVALID);
-+
-+        if (s1->type != s2->type)
-+                return type_ranks[s1->type] - type_ranks[s2->type];
-+
-+        return 0;
-+}
-+
- void user_elect_display(User *u) {
--        Session *graphical = NULL, *text = NULL, *other = NULL, *s;
-+        Session *s;
- 
-         assert(u);
- 
-         /* This elects a primary session for each user, which we call
-          * the "display". We try to keep the assignment stable, but we
-          * "upgrade" to better choices. */
-+        log_debug("Electing new display for user %s", u->name);
- 
-         LIST_FOREACH(sessions_by_user, s, u->sessions) {
--
--                if (s->class != SESSION_USER)
--                        continue;
--
--                if (s->stopping)
-+                if (!elect_display_filter(s)) {
-+                        log_debug("Ignoring session %s", s->id);
-                         continue;
-+                }
- 
--                if (SESSION_TYPE_IS_GRAPHICAL(s->type))
--                        graphical = s;
--                else if (s->type == SESSION_TTY)
--                        text = s;
--                else
--                        other = s;
--        }
--
--        if (graphical &&
--            (!u->display ||
--             u->display->class != SESSION_USER ||
--             u->display->stopping ||
--             !SESSION_TYPE_IS_GRAPHICAL(u->display->type))) {
--                u->display = graphical;
--                return;
--        }
--
--        if (text &&
--            (!u->display ||
--             u->display->class != SESSION_USER ||
--             u->display->stopping ||
--             u->display->type != SESSION_TTY)) {
--                u->display = text;
--                return;
-+                if (elect_display_compare(s, u->display) < 0) {
-+                        log_debug("Choosing session %s in preference to %s", s->id, u->display ? u->display->id : "-");
-+                        u->display = s;
-+                }
-         }
--
--        if (other &&
--            (!u->display ||
--             u->display->class != SESSION_USER ||
--             u->display->stopping))
--                u->display = other;
- }
- 
- static const char* const user_state_table[_USER_STATE_MAX] = {
diff --git a/0053-systemd-bootchart-Trivial-typo-fix-in-warning.patch b/0053-systemd-bootchart-Trivial-typo-fix-in-warning.patch
deleted file mode 100644
index 3dd6685..0000000
--- a/0053-systemd-bootchart-Trivial-typo-fix-in-warning.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From dde6312a37a8560dbb923ddf450a101b6ebe4966 Mon Sep 17 00:00:00 2001
-From: Gianpaolo Macario <gmacario@gmail.com>
-Date: Fri, 5 Jun 2015 18:42:36 +0200
-Subject: [PATCH] systemd-bootchart: Trivial typo fix in warning
-
-Signed-off-by: Gianpaolo Macario <gmacario@gmail.com>
-(cherry picked from commit 6aec8359b04ca4aac18f73184cc6a3daec9a3271)
----
- src/bootchart/bootchart.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/bootchart/bootchart.c b/src/bootchart/bootchart.c
-index 45fab92598..3360bc85be 100644
---- a/src/bootchart/bootchart.c
-+++ b/src/bootchart/bootchart.c
-@@ -531,7 +531,7 @@ int main(int argc, char *argv[]) {
- 
-         /* don't complain when overrun once, happens most commonly on 1st sample */
-         if (overrun > 1)
--                log_warning("systemd-boochart: sample time overrun %i times\n", overrun);
-+                log_warning("systemd-bootchart: sample time overrun %i times\n", overrun);
- 
-         return 0;
- }
diff --git a/0054-man-systemd.link-explain-random-MAC-addresses.patch b/0054-man-systemd.link-explain-random-MAC-addresses.patch
deleted file mode 100644
index a00a1fc..0000000
--- a/0054-man-systemd.link-explain-random-MAC-addresses.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 928b84917139e42611ea1b71ab8b35bf20d2627b Mon Sep 17 00:00:00 2001
-From: Tom Gundersen <teg@jklm.no>
-Date: Mon, 8 Jun 2015 22:30:59 +0200
-Subject: [PATCH] man: systemd.link - explain random MAC addresses
-
-Two of the bits in the MAC address are set unconditioanlly, and the rest is randomized,
-make this clear in the documentation (as it currently read as if it was all random).
-
-(cherry picked from commit 2e229e0c4c29e8a827be9ffe361741cf5e9aa7af)
----
- man/systemd.link.xml | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/man/systemd.link.xml b/man/systemd.link.xml
-index 3fac760b01..d9b1879c59 100644
---- a/man/systemd.link.xml
-+++ b/man/systemd.link.xml
-@@ -229,7 +229,9 @@
-                 <para>If the kernel is using a random MAC address,
-                 nothing is done. Otherwise, a new address is randomly
-                 generated each time the device appears, typically at
--                boot.</para>
-+                boot. Either way the random address will have the
-+                <literal>unicast</literal> and
-+                <literal>locally administered</literal> bits set.</para>
-               </listitem>
-             </varlistentry>
-           </variablelist>
diff --git a/0055-rules-whitelist-xvd-devices.patch b/0055-rules-whitelist-xvd-devices.patch
deleted file mode 100644
index d8b0534..0000000
--- a/0055-rules-whitelist-xvd-devices.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 1499fac10a20159ec9f57734fa3f9e72a25cb19c Mon Sep 17 00:00:00 2001
-From: Alex Crawford <alex.crawford@coreos.com>
-Date: Thu, 4 Jun 2015 15:54:35 -0700
-Subject: [PATCH] rules: whitelist xvd* devices
-
-Xen disks need to be whitelisted as well.
-
-(cherry picked from commit bb5c512de22eeb7464f120a01fd1d59e7a4bbb7b)
----
- rules/60-block.rules              | 2 +-
- rules/60-persistent-storage.rules | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/rules/60-block.rules b/rules/60-block.rules
-index a69d648023..c74caca49f 100644
---- a/rules/60-block.rules
-+++ b/rules/60-block.rules
-@@ -8,4 +8,4 @@ ACTION=="add", SUBSYSTEM=="module", KERNEL=="block", ATTR{parameters/events_dfl_
- ACTION=="change", SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST=="block", ATTR{block/*/uevent}="change"
- 
- # watch metadata changes, caused by tools closing the device node which was opened for writing
--ACTION!="remove", SUBSYSTEM=="block", KERNEL=="loop*|nvme*|sd*|vd*", OPTIONS+="watch"
-+ACTION!="remove", SUBSYSTEM=="block", KERNEL=="loop*|nvme*|sd*|vd*|xvd*", OPTIONS+="watch"
-diff --git a/rules/60-persistent-storage.rules b/rules/60-persistent-storage.rules
-index 64c5f1cfdd..2daeb6db42 100644
---- a/rules/60-persistent-storage.rules
-+++ b/rules/60-persistent-storage.rules
-@@ -6,7 +6,7 @@
- ACTION=="remove", GOTO="persistent_storage_end"
- 
- SUBSYSTEM!="block", GOTO="persistent_storage_end"
--KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|sd*|sr*|vd*|bcache*|xvd*", GOTO="persistent_storage_end"
-+KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|sd*|sr*|vd*|xvd*|bcache*", GOTO="persistent_storage_end"
- 
- # ignore partitions that span the entire disk
- TEST=="whole_disk", GOTO="persistent_storage_end"
diff --git a/0056-cryptsetup-craft-a-unique-ID-with-the-source-device.patch b/0056-cryptsetup-craft-a-unique-ID-with-the-source-device.patch
deleted file mode 100644
index 972b7bb..0000000
--- a/0056-cryptsetup-craft-a-unique-ID-with-the-source-device.patch
+++ /dev/null
@@ -1,165 +0,0 @@
-From 3357627f3380e680cbaaaddb9ecf4cd2872d46dd Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Mon, 1 Jun 2015 17:26:27 +0200
-Subject: [PATCH] cryptsetup: craft a unique ID with the source device
-
-If cryptsetup is called with a source device as argv[3], then craft the
-ID for the password agent with a unique device path.
-
-If possible "/dev/block/<maj>:<min>" is used, otherwise the original
-argv[3] is used.
-
-This enables password agents like petera [1] to provide a password
-according to the source device. The original ID did not carry enough
-information and was more targeted for a human readable string, which
-is specified in the "Message" field anyway.
-
-With this patch the ID of the ask.XXX ini file looks like this:
-ID=cryptsetup:/dev/block/<maj>:<min>
-
-[1] https://github.com/npmccallum/petera
-
-(cherry picked from commit e51b9486d1b59e72c293028fed1384f4e4ef09aa)
----
- src/cryptsetup/cryptsetup.c | 90 +++++++++++++++++++++++++++++----------------
- 1 file changed, 58 insertions(+), 32 deletions(-)
-
-diff --git a/src/cryptsetup/cryptsetup.c b/src/cryptsetup/cryptsetup.c
-index a5018f13ed..5c6c7c0ed8 100644
---- a/src/cryptsetup/cryptsetup.c
-+++ b/src/cryptsetup/cryptsetup.c
-@@ -238,6 +238,23 @@ static void log_glue(int level, const char *msg, void *usrptr) {
-         log_debug("%s", msg);
- }
- 
-+static int disk_major_minor(const char *path, char **ret) {
-+        struct stat st;
-+
-+        assert(path);
-+
-+        if (stat(path, &st) < 0)
-+                return -errno;
-+
-+        if (!S_ISBLK(st.st_mode))
-+                return -EINVAL;
-+
-+        if (asprintf(ret, "/dev/block/%d:%d", major(st.st_rdev), minor(st.st_rdev)) < 0)
-+                return -errno;
-+
-+        return 0;
-+}
-+
- static char* disk_description(const char *path) {
- 
-         static const char name_fields[] =
-@@ -295,20 +312,55 @@ static char *disk_mount_point(const char *label) {
-         return NULL;
- }
- 
--static int get_password(const char *name, usec_t until, bool accept_cached, char ***passwords) {
--        int r;
-+static int get_password(const char *vol, const char *src, usec_t until, bool accept_cached, char ***passwords) {
-+        int r = 0;
-         char **p;
-         _cleanup_free_ char *text = NULL;
-         _cleanup_free_ char *escaped_name = NULL;
-         char *id;
-+        const char *name = NULL;
-+        _cleanup_free_ char *description = NULL, *name_buffer = NULL,
-+                *mount_point = NULL, *maj_min = NULL;
- 
--        assert(name);
-+        assert(vol);
-+        assert(src);
-         assert(passwords);
- 
-+        description = disk_description(src);
-+        mount_point = disk_mount_point(vol);
-+
-+        if (description && streq(vol, description)) {
-+                /* If the description string is simply the
-+                 * volume name, then let's not show this
-+                 * twice */
-+                free(description);
-+                description = NULL;
-+        }
-+
-+        if (mount_point && description)
-+                r = asprintf(&name_buffer, "%s (%s) on %s", description, vol, mount_point);
-+        else if (mount_point)
-+                r = asprintf(&name_buffer, "%s on %s", vol, mount_point);
-+        else if (description)
-+                r = asprintf(&name_buffer, "%s (%s)", description, vol);
-+
-+        if (r < 0)
-+                return log_oom();
-+
-+        name = name_buffer ? name_buffer : vol;
-+
-         if (asprintf(&text, "Please enter passphrase for disk %s!", name) < 0)
-                 return log_oom();
- 
--        escaped_name = cescape(name);
-+        if (src)
-+                (void) disk_major_minor(src, &maj_min);
-+
-+        if (maj_min) {
-+                escaped_name = maj_min;
-+                maj_min = NULL;
-+        } else
-+                escaped_name = cescape(name);
-+
-         if (!escaped_name)
-                 return log_oom();
- 
-@@ -552,8 +604,7 @@ int main(int argc, char *argv[]) {
-                 unsigned tries;
-                 usec_t until;
-                 crypt_status_info status;
--                const char *key_file = NULL, *name = NULL;
--                _cleanup_free_ char *description = NULL, *name_buffer = NULL, *mount_point = NULL;
-+                const char *key_file = NULL;
- 
-                 /* Arguments: systemd-cryptsetup attach VOLUME SOURCE-DEVICE [PASSWORD] [OPTIONS] */
- 
-@@ -581,31 +632,6 @@ int main(int argc, char *argv[]) {
-                 /* A delicious drop of snake oil */
-                 mlockall(MCL_FUTURE);
- 
--                description = disk_description(argv[3]);
--                mount_point = disk_mount_point(argv[2]);
--
--                if (description && streq(argv[2], description)) {
--                        /* If the description string is simply the
--                         * volume name, then let's not show this
--                         * twice */
--                        free(description);
--                        description = NULL;
--                }
--
--                k = 0;
--                if (mount_point && description)
--                        k = asprintf(&name_buffer, "%s (%s) on %s", description, argv[2], mount_point);
--                else if (mount_point)
--                        k = asprintf(&name_buffer, "%s on %s", argv[2], mount_point);
--                else if (description)
--                        k = asprintf(&name_buffer, "%s (%s)", description, argv[2]);
--
--                if (k < 0) {
--                        log_oom();
--                        goto finish;
--                }
--                name = name_buffer ? name_buffer : argv[2];
--
-                 if (arg_header) {
-                         log_debug("LUKS header: %s", arg_header);
-                         k = crypt_init(&cd, arg_header);
-@@ -652,7 +678,7 @@ int main(int argc, char *argv[]) {
-                         _cleanup_strv_free_ char **passwords = NULL;
- 
-                         if (!key_file) {
--                                k = get_password(name, until, tries == 0 && !arg_verify, &passwords);
-+                                k = get_password(argv[2], argv[3], until, tries == 0 && !arg_verify, &passwords);
-                                 if (k == -EAGAIN)
-                                         continue;
-                                 else if (k < 0)
diff --git a/0057-util-bind_remount_recursive-handle-return-0-of-set_c.patch b/0057-util-bind_remount_recursive-handle-return-0-of-set_c.patch
deleted file mode 100644
index 2c1f846..0000000
--- a/0057-util-bind_remount_recursive-handle-return-0-of-set_c.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 6b63caf7d6bdded413985906276d023cfb623905 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Tue, 9 Jun 2015 10:32:28 +0200
-Subject: [PATCH] util:bind_remount_recursive(): handle return 0 of
- set_consume()
-
-set_consume() does not return -EEXIST, but 0, in case the key is already
-in the Set.
-
-(cherry picked from commit 85d834ae8e7d9e2c28ef8c1388e2913ed8fd0e3b)
----
- src/shared/util.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/shared/util.c b/src/shared/util.c
-index 57782ba687..26eec38ea6 100644
---- a/src/shared/util.c
-+++ b/src/shared/util.c
-@@ -5135,7 +5135,7 @@ int bind_remount_recursive(const char *prefix, bool ro) {
-                 while ((x = set_steal_first(todo))) {
- 
-                         r = set_consume(done, x);
--                        if (r == -EEXIST)
-+                        if (r == -EEXIST || r == 0)
-                                 continue;
-                         if (r < 0)
-                                 return r;
diff --git a/0058-hwdb-add-Logitech-TrackMan-Marble-Wheel-USB.patch b/0058-hwdb-add-Logitech-TrackMan-Marble-Wheel-USB.patch
deleted file mode 100644
index 37bddad..0000000
--- a/0058-hwdb-add-Logitech-TrackMan-Marble-Wheel-USB.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From f66d0986462f8d3fe321dc20f6bd9904fc1e6a99 Mon Sep 17 00:00:00 2001
-From: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Tue, 9 Jun 2015 14:32:19 +1000
-Subject: [PATCH] hwdb: add Logitech TrackMan Marble Wheel USB
-
-DPI is guesswork, no specs found on the web and calculating DPIs on a
-trackball is tedious.
-
-(cherry picked from commit 5967bda0bc9849bceeda393e3cd2ab04f2f25a03)
----
- hwdb/70-mouse.hwdb | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/hwdb/70-mouse.hwdb b/hwdb/70-mouse.hwdb
-index 2784b941a1..cfe3579fcd 100644
---- a/hwdb/70-mouse.hwdb
-+++ b/hwdb/70-mouse.hwdb
-@@ -169,6 +169,8 @@ mouse:usb:v046dpc00e:name:Logitech USB-PS/2 Optical Mouse:
- mouse:usb:v046dpc01b:name:Logitech USB-PS/2 Optical Mouse:
- # Logitech USB-PS/2 M-BT58
- mouse:usb:v046dpc03e:name:Logitech USB-PS/2 Optical Mouse:
-+# Logitech TrackMan Marble Wheel USB
-+mouse:usb:v046dpc401:name:Logitech USB-PS/2 Trackball:
-  MOUSE_DPI=400@125
- 
- # Lenovo USB mouse model MO28UOL
diff --git a/0059-hwdb-update-Logitech-s-unifying-receiver-devices.patch b/0059-hwdb-update-Logitech-s-unifying-receiver-devices.patch
deleted file mode 100644
index d5c037b..0000000
--- a/0059-hwdb-update-Logitech-s-unifying-receiver-devices.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 47211575a9ee7ed50e184bccbf8f3e0ed3c1075f Mon Sep 17 00:00:00 2001
-From: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Wed, 10 Jun 2015 13:53:51 +1000
-Subject: [PATCH] hwdb: update Logitech's unifying receiver devices
-
-Since 3.19, the devices have the proper vid/pid and the model number in the
-name.
-
-Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-(cherry picked from commit 7a37956eac10c727f562ddcce00d1179d22a67f9)
----
- hwdb/70-mouse.hwdb | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/hwdb/70-mouse.hwdb b/hwdb/70-mouse.hwdb
-index cfe3579fcd..6c77b74e53 100644
---- a/hwdb/70-mouse.hwdb
-+++ b/hwdb/70-mouse.hwdb
-@@ -182,6 +182,7 @@ mouse:usb:v046dpc045:name:Logitech USB-PS/2 Optical Mouse:
-  MOUSE_DPI=600@125
- 
- # Logitech Wireless Mouse M325
-+mouse:usb:v046dp400a:name:Logitech M325:
- mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:400a:
-  MOUSE_DPI=600@166
-  MOUSE_WHEEL_CLICK_ANGLE=20
-@@ -215,8 +216,10 @@ mouse:usb:v046dp1028:name:Logitech M570:
-  MOUSE_DPI=540@167
- 
- # Logitech Wireless Mouse M185
-+mouse:usb:v046dp4008:name:Logitech M185:
- mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:4008:
- # Logitech M705 (marathon mouse)
-+mouse:usb:v046dp101b:name:Logitech M705:
- mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:101b:
-  MOUSE_DPI=800@166
- 
-@@ -227,6 +230,8 @@ mouse:usb:v046dpc24e:name:Logitech G500s Laser Gaming Mouse:
-  MOUSE_DPI=400@500 *800@500 2000@500
- 
- # Logitech B605 Wireless Mouse (also M505)
-+mouse:usb:v046dp101d:name:Logitech B605:
-+mouse:usb:v046dp101d:name:Logitech M505:
- mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:101d:
-  MOUSE_DPI=900@166
- 
-@@ -255,10 +260,12 @@ mouse:usb:v046dpc069:name:Logitech USB Laser Mouse:
-  MOUSE_DPI=1200@125
- 
- # Logitech T620 (or, the soap)
-+mouse:usb:v046dp4027:name:Logitech T620:
- mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:4027:
-  MOUSE_DPI=1200@250
- 
- # Logitech ZoneTouch Mouse T400
-+mouse:usb:v046dp4026:name:Logitech T400:
- mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:4026:
-  MOUSE_DPI=1300@166
- 
diff --git a/0060-keymap-Add-Samsung-NP350V-and-NP670Z.patch b/0060-keymap-Add-Samsung-NP350V-and-NP670Z.patch
deleted file mode 100644
index 7ecdd3c..0000000
--- a/0060-keymap-Add-Samsung-NP350V-and-NP670Z.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From d9b766a4343cf07a0b4e4ab13401f4aec6e2eece Mon Sep 17 00:00:00 2001
-From: dslul <laudanidaniele@gmail.com>
-Date: Wed, 10 Jun 2015 12:18:22 +0200
-Subject: [PATCH] keymap: Add Samsung NP350V and NP670Z
-
-typo
-
-keymap: Add Samsung NP350V and NP670Z
-(cherry picked from commit ff48c774236967273732a7ee154b4b8e834b4409)
----
- hwdb/60-keyboard.hwdb | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/hwdb/60-keyboard.hwdb b/hwdb/60-keyboard.hwdb
-index 9c7e553a41..007c6a809e 100644
---- a/hwdb/60-keyboard.hwdb
-+++ b/hwdb/60-keyboard.hwdb
-@@ -980,6 +980,8 @@ evdev:atkbd:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*550P*:pvr*
-  KEYBOARD_KEY_a9=!                                      # Fn Lock - Function lock off
- 
- # Series 7 / 9
-+evdev:atkbd:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*350V*:pvr*
-+evdev:atkbd:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*670Z*:pvr*
- evdev:atkbd:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*700Z*:pvr*
- evdev:atkbd:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*700G*:pvr*
- evdev:atkbd:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*900X[34]*:pvr*
diff --git a/0061-sd-bus-fix-early-exit-when-we-lack-all-data-in-bus_g.patch b/0061-sd-bus-fix-early-exit-when-we-lack-all-data-in-bus_g.patch
deleted file mode 100644
index a3303dc..0000000
--- a/0061-sd-bus-fix-early-exit-when-we-lack-all-data-in-bus_g.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 643f845bf882489eeddeeb4d9115b07b39198693 Mon Sep 17 00:00:00 2001
-From: Lennart Poettering <lennart@poettering.net>
-Date: Wed, 10 Jun 2015 15:51:40 +0200
-Subject: [PATCH] sd-bus: fix early exit when we lack all data in
- bus_get_owner_creds_dbus1()
-
-(cherry picked from commit 3c42e8b281b092b4d10f24c80e21d69b0f232b96)
----
- src/libsystemd/sd-bus/bus-control.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/libsystemd/sd-bus/bus-control.c b/src/libsystemd/sd-bus/bus-control.c
-index 43ddfc651d..b4ca177f76 100644
---- a/src/libsystemd/sd-bus/bus-control.c
-+++ b/src/libsystemd/sd-bus/bus-control.c
-@@ -980,7 +980,7 @@ static int bus_get_owner_creds_dbus1(sd_bus *bus, uint64_t mask, sd_bus_creds **
-         pid_t pid = 0;
-         int r;
- 
--        if (!bus->ucred_valid && !isempty(bus->label))
-+        if (!bus->ucred_valid && isempty(bus->label))
-                 return -ENODATA;
- 
-         c = bus_creds_new();
diff --git a/0062-sd-bus-remove-ucred-parameter-from-bus_message_from_.patch b/0062-sd-bus-remove-ucred-parameter-from-bus_message_from_.patch
deleted file mode 100644
index f89a851..0000000
--- a/0062-sd-bus-remove-ucred-parameter-from-bus_message_from_.patch
+++ /dev/null
@@ -1,139 +0,0 @@
-From 467d26a957ddb9d493a443618edc1ecd78eef15c Mon Sep 17 00:00:00 2001
-From: Lennart Poettering <lennart@poettering.net>
-Date: Wed, 10 Jun 2015 15:52:14 +0200
-Subject: [PATCH] sd-bus: remove ucred parameter from bus_message_from_header()
- since we don't use it anymore
-
-(cherry picked from commit aa0d0ed6b87d41367fd6c4401472df7d45dd1b13)
----
- src/libsystemd/sd-bus/bus-kernel.c        |  1 -
- src/libsystemd/sd-bus/bus-message.c       | 21 +--------------------
- src/libsystemd/sd-bus/bus-message.h       |  2 --
- src/libsystemd/sd-bus/bus-socket.c        |  1 -
- src/libsystemd/sd-bus/test-bus-gvariant.c |  2 +-
- src/libsystemd/sd-bus/test-bus-marshal.c  |  2 +-
- 6 files changed, 3 insertions(+), 26 deletions(-)
-
-diff --git a/src/libsystemd/sd-bus/bus-kernel.c b/src/libsystemd/sd-bus/bus-kernel.c
-index d5cc8100ce..b87dba7c43 100644
---- a/src/libsystemd/sd-bus/bus-kernel.c
-+++ b/src/libsystemd/sd-bus/bus-kernel.c
-@@ -498,7 +498,6 @@ static int bus_kernel_make_message(sd_bus *bus, struct kdbus_msg *k) {
-                         footer, footer_size,
-                         n_bytes,
-                         fds, n_fds,
--                        NULL,
-                         seclabel, 0, &m);
-         if (r < 0)
-                 return r;
-diff --git a/src/libsystemd/sd-bus/bus-message.c b/src/libsystemd/sd-bus/bus-message.c
-index 6ee209dd1b..c38b2a5fa5 100644
---- a/src/libsystemd/sd-bus/bus-message.c
-+++ b/src/libsystemd/sd-bus/bus-message.c
-@@ -435,7 +435,6 @@ int bus_message_from_header(
-                 size_t message_size,
-                 int *fds,
-                 unsigned n_fds,
--                const struct ucred *ucred,
-                 const char *label,
-                 size_t extra,
-                 sd_bus_message **ret) {
-@@ -528,23 +527,6 @@ int bus_message_from_header(
-         m->fds = fds;
-         m->n_fds = n_fds;
- 
--        if (ucred) {
--                m->creds.pid = ucred->pid;
--                m->creds.euid = ucred->uid;
--                m->creds.egid = ucred->gid;
--
--                /* Due to namespace translations some data might be
--                 * missing from this ucred record. */
--                if (m->creds.pid > 0)
--                        m->creds.mask |= SD_BUS_CREDS_PID;
--
--                if (m->creds.euid != UID_INVALID)
--                        m->creds.mask |= SD_BUS_CREDS_EUID;
--
--                if (m->creds.egid != GID_INVALID)
--                        m->creds.mask |= SD_BUS_CREDS_EGID;
--        }
--
-         if (label) {
-                 m->creds.label = (char*) m + ALIGN(sizeof(sd_bus_message)) + ALIGN(extra);
-                 memcpy(m->creds.label, label, label_sz + 1);
-@@ -565,7 +547,6 @@ int bus_message_from_malloc(
-                 size_t length,
-                 int *fds,
-                 unsigned n_fds,
--                const struct ucred *ucred,
-                 const char *label,
-                 sd_bus_message **ret) {
- 
-@@ -579,7 +560,7 @@ int bus_message_from_malloc(
-                         buffer, length,
-                         length,
-                         fds, n_fds,
--                        ucred, label,
-+                        label,
-                         0, &m);
-         if (r < 0)
-                 return r;
-diff --git a/src/libsystemd/sd-bus/bus-message.h b/src/libsystemd/sd-bus/bus-message.h
-index d784e603dd..088d5b1109 100644
---- a/src/libsystemd/sd-bus/bus-message.h
-+++ b/src/libsystemd/sd-bus/bus-message.h
-@@ -205,7 +205,6 @@ int bus_message_from_header(
-                 size_t message_size,
-                 int *fds,
-                 unsigned n_fds,
--                const struct ucred *ucred,
-                 const char *label,
-                 size_t extra,
-                 sd_bus_message **ret);
-@@ -216,7 +215,6 @@ int bus_message_from_malloc(
-                 size_t length,
-                 int *fds,
-                 unsigned n_fds,
--                const struct ucred *ucred,
-                 const char *label,
-                 sd_bus_message **ret);
- 
-diff --git a/src/libsystemd/sd-bus/bus-socket.c b/src/libsystemd/sd-bus/bus-socket.c
-index 881efb176a..e00bd3fc55 100644
---- a/src/libsystemd/sd-bus/bus-socket.c
-+++ b/src/libsystemd/sd-bus/bus-socket.c
-@@ -913,7 +913,6 @@ static int bus_socket_make_message(sd_bus *bus, size_t size) {
-                                     bus->rbuffer, size,
-                                     bus->fds, bus->n_fds,
-                                     NULL,
--                                    NULL,
-                                     &t);
-         if (r < 0) {
-                 free(b);
-diff --git a/src/libsystemd/sd-bus/test-bus-gvariant.c b/src/libsystemd/sd-bus/test-bus-gvariant.c
-index 992edacb28..22ea00c2fb 100644
---- a/src/libsystemd/sd-bus/test-bus-gvariant.c
-+++ b/src/libsystemd/sd-bus/test-bus-gvariant.c
-@@ -198,7 +198,7 @@ static void test_marshal(void) {
-         }
- #endif
- 
--        assert_se(bus_message_from_malloc(bus, blob, sz, NULL, 0, NULL, NULL, &n) >= 0);
-+        assert_se(bus_message_from_malloc(bus, blob, sz, NULL, 0, NULL, &n) >= 0);
-         blob = NULL;
- 
-         assert_se(bus_message_dump(n, NULL, BUS_MESSAGE_DUMP_WITH_HEADER) >= 0);
-diff --git a/src/libsystemd/sd-bus/test-bus-marshal.c b/src/libsystemd/sd-bus/test-bus-marshal.c
-index f8ecadf499..a866a56179 100644
---- a/src/libsystemd/sd-bus/test-bus-marshal.c
-+++ b/src/libsystemd/sd-bus/test-bus-marshal.c
-@@ -212,7 +212,7 @@ int main(int argc, char *argv[]) {
- 
-         m = sd_bus_message_unref(m);
- 
--        r = bus_message_from_malloc(bus, buffer, sz, NULL, 0, NULL, NULL, &m);
-+        r = bus_message_from_malloc(bus, buffer, sz, NULL, 0, NULL, &m);
-         assert_se(r >= 0);
- 
-         bus_message_dump(m, stdout, BUS_MESSAGE_DUMP_WITH_HEADER);
diff --git a/0063-bus-creds-always-set-SD_BUS_CREDS_PID-when-we-set-pi.patch b/0063-bus-creds-always-set-SD_BUS_CREDS_PID-when-we-set-pi.patch
deleted file mode 100644
index ff1746f..0000000
--- a/0063-bus-creds-always-set-SD_BUS_CREDS_PID-when-we-set-pi.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 5e6a495495972f748e69d6ec1a8ba2b78aaa7f5a Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
-Date: Sun, 24 May 2015 20:20:06 -0400
-Subject: [PATCH] bus-creds: always set SD_BUS_CREDS_PID when we set pid in the
- mask
-
-Also reorder the code a bit to be easier to parse.
-
-(cherry picked from commit 236f83afa935d6e07fcd5c17b5db7b1cf424267a)
----
- src/core/selinux-access.c         |  2 +-
- src/libsystemd/sd-bus/bus-creds.c | 13 ++++++-------
- 2 files changed, 7 insertions(+), 8 deletions(-)
-
-diff --git a/src/core/selinux-access.c b/src/core/selinux-access.c
-index 5e9a4a5e02..decd42f95a 100644
---- a/src/core/selinux-access.c
-+++ b/src/core/selinux-access.c
-@@ -261,7 +261,7 @@ int mac_selinux_generic_access_check(
-         audit_info.path = path;
-         audit_info.cmdline = cl;
- 
--        r = selinux_check_access((security_context_t) scon, fcon, tclass, permission, &audit_info);
-+        r = selinux_check_access(scon, fcon, tclass, permission, &audit_info);
-         if (r < 0)
-                 r = sd_bus_error_setf(error, SD_BUS_ERROR_ACCESS_DENIED, "SELinux policy denies access.");
- 
-diff --git a/src/libsystemd/sd-bus/bus-creds.c b/src/libsystemd/sd-bus/bus-creds.c
-index 4d67619cf8..1c365b7fcd 100644
---- a/src/libsystemd/sd-bus/bus-creds.c
-+++ b/src/libsystemd/sd-bus/bus-creds.c
-@@ -773,11 +773,13 @@ int bus_creds_add_more(sd_bus_creds *c, uint64_t mask, pid_t pid, pid_t tid) {
-                 return 0;
- 
-         /* Try to retrieve PID from creds if it wasn't passed to us */
--        if (pid <= 0 && (c->mask & SD_BUS_CREDS_PID))
-+        if (pid > 0) {
-+                c->pid = pid;
-+                c->mask |= SD_BUS_CREDS_PID;
-+        } else if (c->mask & SD_BUS_CREDS_PID)
-                 pid = c->pid;
--
--        /* Without pid we cannot do much... */
--        if (pid <= 0)
-+        else
-+                /* Without pid we cannot do much... */
-                 return 0;
- 
-         /* Try to retrieve TID from creds if it wasn't passed to us */
-@@ -789,9 +791,6 @@ int bus_creds_add_more(sd_bus_creds *c, uint64_t mask, pid_t pid, pid_t tid) {
-         if (missing == 0)
-                 return 0;
- 
--        c->pid = pid;
--        c->mask |= SD_BUS_CREDS_PID;
--
-         if (tid > 0) {
-                 c->tid = tid;
-                 c->mask |= SD_BUS_CREDS_TID;
diff --git a/0064-sd-bus-do-not-use-per-datagram-auxiliary-information.patch b/0064-sd-bus-do-not-use-per-datagram-auxiliary-information.patch
deleted file mode 100644
index 9c3e715..0000000
--- a/0064-sd-bus-do-not-use-per-datagram-auxiliary-information.patch
+++ /dev/null
@@ -1,155 +0,0 @@
-From 81eb1e9e46b569992b265e826ffc0218ee3d99dd Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
-Date: Sat, 6 Jun 2015 18:59:27 -0400
-Subject: [PATCH] sd-bus: do not use per-datagram auxiliary information
-
-SELinux information cannot be retrieved this way, since we are
-using stream unix sockets and SCM_SECURITY does not work for
-them.
-
-SCM_CREDENTIALS use dropped to be consistent. We also should
-get this information at connection time.
-
-https://bugzilla.redhat.com/show_bug.cgi?id=1224211
-"SCM_SECURITY was only added for datagram sockets."
-
-(cherry picked from commit d868f2a3a1cc97b1e081b7692e80a1182efccda4)
----
- src/libsystemd/sd-bus/bus-socket.c | 80 ++++++--------------------------------
- 1 file changed, 12 insertions(+), 68 deletions(-)
-
-diff --git a/src/libsystemd/sd-bus/bus-socket.c b/src/libsystemd/sd-bus/bus-socket.c
-index e00bd3fc55..ec4fcfbcd3 100644
---- a/src/libsystemd/sd-bus/bus-socket.c
-+++ b/src/libsystemd/sd-bus/bus-socket.c
-@@ -499,9 +499,7 @@ static int bus_socket_read_auth(sd_bus *b) {
-         void *p;
-         union {
-                 struct cmsghdr cmsghdr;
--                uint8_t buf[CMSG_SPACE(sizeof(int) * BUS_FDS_MAX) +
--                            CMSG_SPACE(sizeof(struct ucred)) +
--                            CMSG_SPACE(NAME_MAX)]; /*selinux label */
-+                uint8_t buf[CMSG_SPACE(sizeof(int) * BUS_FDS_MAX)];
-         } control;
-         struct cmsghdr *cmsg;
-         bool handle_cmsg = false;
-@@ -553,8 +551,8 @@ static int bus_socket_read_auth(sd_bus *b) {
- 
-         b->rbuffer_size += k;
- 
--        if (handle_cmsg) {
--                for (cmsg = CMSG_FIRSTHDR(&mh); cmsg; cmsg = CMSG_NXTHDR(&mh, cmsg)) {
-+        if (handle_cmsg)
-+                for (cmsg = CMSG_FIRSTHDR(&mh); cmsg; cmsg = CMSG_NXTHDR(&mh, cmsg))
-                         if (cmsg->cmsg_level == SOL_SOCKET &&
-                             cmsg->cmsg_type == SCM_RIGHTS) {
-                                 int j;
-@@ -565,31 +563,9 @@ static int bus_socket_read_auth(sd_bus *b) {
-                                 j = (cmsg->cmsg_len - CMSG_LEN(0)) / sizeof(int);
-                                 close_many((int*) CMSG_DATA(cmsg), j);
-                                 return -EIO;
--
--                        } else if (cmsg->cmsg_level == SOL_SOCKET &&
--                                   cmsg->cmsg_type == SCM_CREDENTIALS &&
--                                   cmsg->cmsg_len == CMSG_LEN(sizeof(struct ucred))) {
--
--                                /* Ignore bogus data, which we might
--                                 * get on socketpair() sockets */
--                                if (((struct ucred*) CMSG_DATA(cmsg))->pid != 0) {
--                                        memcpy(&b->ucred, CMSG_DATA(cmsg), sizeof(struct ucred));
--                                        b->ucred_valid = true;
--                                }
--
--                        } else if (cmsg->cmsg_level == SOL_SOCKET &&
--                                   cmsg->cmsg_type == SCM_SECURITY) {
--
--                                size_t l;
--
--                                l = cmsg->cmsg_len - CMSG_LEN(0);
--                                if (l > 0) {
--                                        memcpy(&b->label, CMSG_DATA(cmsg), l);
--                                        b->label[l] = 0;
--                                }
--                        }
--                }
--        }
-+                        } else
-+                                log_debug("Got unexpected auxiliary data with level=%d and type=%d",
-+                                          cmsg->cmsg_level, cmsg->cmsg_type);
- 
-         r = bus_socket_auth_verify(b);
-         if (r != 0)
-@@ -599,18 +575,8 @@ static int bus_socket_read_auth(sd_bus *b) {
- }
- 
- void bus_socket_setup(sd_bus *b) {
--        int enable;
--
-         assert(b);
- 
--        /* Enable SO_PASSCRED + SO_PASSEC. We try this on any
--         * socket, just in case. */
--        enable = !b->bus_client;
--        (void) setsockopt(b->input_fd, SOL_SOCKET, SO_PASSCRED, &enable, sizeof(enable));
--
--        enable = !b->bus_client && (b->attach_flags & KDBUS_ATTACH_SECLABEL);
--        (void) setsockopt(b->input_fd, SOL_SOCKET, SO_PASSSEC, &enable, sizeof(enable));
--
-         /* Increase the buffers to 8 MB */
-         fd_inc_rcvbuf(b->input_fd, SNDBUF_SIZE);
-         fd_inc_sndbuf(b->output_fd, SNDBUF_SIZE);
-@@ -939,9 +905,7 @@ int bus_socket_read_message(sd_bus *bus) {
-         void *b;
-         union {
-                 struct cmsghdr cmsghdr;
--                uint8_t buf[CMSG_SPACE(sizeof(int) * BUS_FDS_MAX) +
--                            CMSG_SPACE(sizeof(struct ucred)) +
--                            CMSG_SPACE(NAME_MAX)]; /*selinux label */
-+                uint8_t buf[CMSG_SPACE(sizeof(int) * BUS_FDS_MAX)];
-         } control;
-         struct cmsghdr *cmsg;
-         bool handle_cmsg = false;
-@@ -988,8 +952,8 @@ int bus_socket_read_message(sd_bus *bus) {
- 
-         bus->rbuffer_size += k;
- 
--        if (handle_cmsg) {
--                for (cmsg = CMSG_FIRSTHDR(&mh); cmsg; cmsg = CMSG_NXTHDR(&mh, cmsg)) {
-+        if (handle_cmsg)
-+                for (cmsg = CMSG_FIRSTHDR(&mh); cmsg; cmsg = CMSG_NXTHDR(&mh, cmsg))
-                         if (cmsg->cmsg_level == SOL_SOCKET &&
-                             cmsg->cmsg_type == SCM_RIGHTS) {
-                                 int n, *f;
-@@ -1014,29 +978,9 @@ int bus_socket_read_message(sd_bus *bus) {
-                                 memcpy(f + bus->n_fds, CMSG_DATA(cmsg), n * sizeof(int));
-                                 bus->fds = f;
-                                 bus->n_fds += n;
--                        } else if (cmsg->cmsg_level == SOL_SOCKET &&
--                                   cmsg->cmsg_type == SCM_CREDENTIALS &&
--                                   cmsg->cmsg_len == CMSG_LEN(sizeof(struct ucred))) {
--
--                                /* Ignore bogus data, which we might
--                                 * get on socketpair() sockets */
--                                if (((struct ucred*) CMSG_DATA(cmsg))->pid != 0) {
--                                        memcpy(&bus->ucred, CMSG_DATA(cmsg), sizeof(struct ucred));
--                                        bus->ucred_valid = true;
--                                }
--
--                        } else if (cmsg->cmsg_level == SOL_SOCKET &&
--                                   cmsg->cmsg_type == SCM_SECURITY) {
--
--                                size_t l;
--                                l = cmsg->cmsg_len - CMSG_LEN(0);
--                                if (l > 0) {
--                                        memcpy(&bus->label, CMSG_DATA(cmsg), l);
--                                        bus->label[l] = 0;
--                                }
--                        }
--                }
--        }
-+                        } else
-+                                log_debug("Got unexpected auxiliary data with level=%d and type=%d",
-+                                          cmsg->cmsg_level, cmsg->cmsg_type);
- 
-         r = bus_socket_read_message_need(bus, &need);
-         if (r < 0)
diff --git a/0065-sd-bus-store-selinux-context-at-connection-time.patch b/0065-sd-bus-store-selinux-context-at-connection-time.patch
deleted file mode 100644
index e79c88a..0000000
--- a/0065-sd-bus-store-selinux-context-at-connection-time.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-From 6829b6250d10c3a6a773374bffc58ec8cc98bc36 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
-Date: Sat, 6 Jun 2015 21:24:45 -0400
-Subject: [PATCH] sd-bus: store selinux context at connection time
-
-This appears to be the right time to do it for SOCK_STREAM
-unix sockets.
-
-Also: condition bus_get_owner_creds_dbus1 was reversed. Split
-it out to a separate variable for clarity and fix.
-
-https://bugzilla.redhat.com/show_bug.cgi?id=1224211
-(cherry picked from commit c4e6556c46cea1b7195cfb81c8cfab8342ebd852)
-
-Conflicts:
-	src/libsystemd/sd-bus/bus-control.c
----
- src/libsystemd/sd-bus/bus-control.c  | 6 ++++--
- src/libsystemd/sd-bus/bus-internal.h | 2 +-
- src/libsystemd/sd-bus/bus-socket.c   | 7 +++++++
- src/libsystemd/sd-bus/sd-bus.c       | 1 +
- 4 files changed, 13 insertions(+), 3 deletions(-)
-
-diff --git a/src/libsystemd/sd-bus/bus-control.c b/src/libsystemd/sd-bus/bus-control.c
-index b4ca177f76..1103903358 100644
---- a/src/libsystemd/sd-bus/bus-control.c
-+++ b/src/libsystemd/sd-bus/bus-control.c
-@@ -979,8 +979,10 @@ static int bus_get_owner_creds_dbus1(sd_bus *bus, uint64_t mask, sd_bus_creds **
-         _cleanup_bus_creds_unref_ sd_bus_creds *c = NULL;
-         pid_t pid = 0;
-         int r;
-+        bool do_label = bus->label && (mask & SD_BUS_CREDS_SELINUX_CONTEXT);
- 
--        if (!bus->ucred_valid && isempty(bus->label))
-+        /* Avoid allocating anything if we have no chance of returning useful data */
-+        if (!bus->ucred_valid && !do_label)
-                 return -ENODATA;
- 
-         c = bus_creds_new();
-@@ -1004,7 +1006,7 @@ static int bus_get_owner_creds_dbus1(sd_bus *bus, uint64_t mask, sd_bus_creds **
-                 }
-         }
- 
--        if (!isempty(bus->label) && (mask & SD_BUS_CREDS_SELINUX_CONTEXT)) {
-+        if (do_label) {
-                 c->label = strdup(bus->label);
-                 if (!c->label)
-                         return -ENOMEM;
-diff --git a/src/libsystemd/sd-bus/bus-internal.h b/src/libsystemd/sd-bus/bus-internal.h
-index 1351938c80..2ee0eabc02 100644
---- a/src/libsystemd/sd-bus/bus-internal.h
-+++ b/src/libsystemd/sd-bus/bus-internal.h
-@@ -261,7 +261,7 @@ struct sd_bus {
-         usec_t auth_timeout;
- 
-         struct ucred ucred;
--        char label[NAME_MAX];
-+        char *label;
- 
-         uint64_t creds_mask;
- 
-diff --git a/src/libsystemd/sd-bus/bus-socket.c b/src/libsystemd/sd-bus/bus-socket.c
-index ec4fcfbcd3..1fde95d2e8 100644
---- a/src/libsystemd/sd-bus/bus-socket.c
-+++ b/src/libsystemd/sd-bus/bus-socket.c
-@@ -587,10 +587,17 @@ void bus_socket_setup(sd_bus *b) {
- }
- 
- static void bus_get_peercred(sd_bus *b) {
-+        int r;
-+
-         assert(b);
- 
-         /* Get the peer for socketpair() sockets */
-         b->ucred_valid = getpeercred(b->input_fd, &b->ucred) >= 0;
-+
-+        /* Get the SELinux context of the peer */
-+        r = getpeersec(b->input_fd, &b->label);
-+        if (r < 0 && r != -EOPNOTSUPP)
-+                log_debug_errno(r, "Failed to determine peer security context: %m");
- }
- 
- static int bus_socket_start_auth_client(sd_bus *b) {
-diff --git a/src/libsystemd/sd-bus/sd-bus.c b/src/libsystemd/sd-bus/sd-bus.c
-index 214b3d04df..ef0f51be53 100644
---- a/src/libsystemd/sd-bus/sd-bus.c
-+++ b/src/libsystemd/sd-bus/sd-bus.c
-@@ -116,6 +116,7 @@ static void bus_free(sd_bus *b) {
-         if (b->kdbus_buffer)
-                 munmap(b->kdbus_buffer, KDBUS_POOL_SIZE);
- 
-+        free(b->label);
-         free(b->rbuffer);
-         free(b->unique_name);
-         free(b->auth_buffer);
diff --git a/0066-journald-simplify-context-handling.patch b/0066-journald-simplify-context-handling.patch
deleted file mode 100644
index 1daecd6..0000000
--- a/0066-journald-simplify-context-handling.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-From 87bfffb29b2379dfffc799f0b148369b49c0c269 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
-Date: Sat, 6 Jun 2015 21:36:52 -0400
-Subject: [PATCH] journald: simplify context handling
-
-By using our homegrown function we can dispense with all the iffdefery.
-
-(cherry picked from commit 2de56f70941eaf91a4520bf33de47a87ebd8b2cb)
----
- src/journal/journald-stream.c | 32 ++++++++------------------------
- 1 file changed, 8 insertions(+), 24 deletions(-)
-
-diff --git a/src/journal/journald-stream.c b/src/journal/journald-stream.c
-index b572147a56..db2f581972 100644
---- a/src/journal/journald-stream.c
-+++ b/src/journal/journald-stream.c
-@@ -59,10 +59,7 @@ struct StdoutStream {
-         int fd;
- 
-         struct ucred ucred;
--#ifdef HAVE_SELINUX
--        security_context_t security_context;
--#endif
--
-+        char *label;
-         char *identifier;
-         char *unit_id;
-         int priority;
-@@ -99,12 +96,7 @@ void stdout_stream_free(StdoutStream *s) {
-         }
- 
-         safe_close(s->fd);
--
--#ifdef HAVE_SELINUX
--        if (s->security_context)
--                freecon(s->security_context);
--#endif
--
-+        free(s->label);
-         free(s->identifier);
-         free(s->unit_id);
-         free(s->state_file);
-@@ -225,8 +217,7 @@ static int stdout_stream_log(StdoutStream *s, const char *p) {
-         char syslog_facility[sizeof("SYSLOG_FACILITY=")-1 + DECIMAL_STR_MAX(int) + 1];
-         _cleanup_free_ char *message = NULL, *syslog_identifier = NULL;
-         unsigned n = 0;
--        char *label = NULL;
--        size_t label_len = 0;
-+        size_t label_len;
- 
-         assert(s);
-         assert(p);
-@@ -271,14 +262,8 @@ static int stdout_stream_log(StdoutStream *s, const char *p) {
-         if (message)
-                 IOVEC_SET_STRING(iovec[n++], message);
- 
--#ifdef HAVE_SELINUX
--        if (s->security_context) {
--                label = (char*) s->security_context;
--                label_len = strlen((char*) s->security_context);
--        }
--#endif
--
--        server_dispatch_message(s->server, iovec, n, ELEMENTSOF(iovec), &s->ucred, NULL, label, label_len, s->unit_id, priority, 0);
-+        label_len = s->label ? strlen(s->label) : 0;
-+        server_dispatch_message(s->server, iovec, n, ELEMENTSOF(iovec), &s->ucred, NULL, s->label, label_len, s->unit_id, priority, 0);
-         return 0;
- }
- 
-@@ -489,12 +474,11 @@ static int stdout_stream_install(Server *s, int fd, StdoutStream **ret) {
-         if (r < 0)
-                 return log_error_errno(r, "Failed to determine peer credentials: %m");
- 
--#ifdef HAVE_SELINUX
-         if (mac_selinux_use()) {
--                if (getpeercon(fd, &stream->security_context) < 0 && errno != ENOPROTOOPT)
--                        log_error_errno(errno, "Failed to determine peer security context: %m");
-+                r = getpeersec(fd, &stream->label);
-+                if (r < 0 && r != -EOPNOTSUPP)
-+                        (void) log_warning_errno(r, "Failed to determine peer security context: %m");
-         }
--#endif
- 
-         (void) shutdown(fd, SHUT_WR);
- 
diff --git a/0067-Fix-typo.patch b/0067-Fix-typo.patch
deleted file mode 100644
index 70be1e0..0000000
--- a/0067-Fix-typo.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 84dcb29829e6b4ee85682ded36a727b1b3f11918 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
-Date: Wed, 10 Jun 2015 11:06:00 -0400
-Subject: [PATCH] Fix typo
-
-Follow up for 7c918141ed.
-
-(cherry picked from commit 2fb1105c2bb91c12dd4e66117626da3546afff84)
----
- src/run/run.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/run/run.c b/src/run/run.c
-index fcd6b06f7d..d7b1c58455 100644
---- a/src/run/run.c
-+++ b/src/run/run.c
-@@ -67,7 +67,7 @@ static void help(void) {
-         printf("%s [OPTIONS...] {COMMAND} [ARGS...]\n\n"
-                "Run the specified command in a transient scope or service or timer\n"
-                "unit. If timer option is specified and unit is exist which is\n"
--               "specified with --unit option then command can be ommited.\n\n"
-+               "specified with --unit option then command can be omited.\n\n"
-                "  -h --help                       Show this help\n"
-                "     --version                    Show package version\n"
-                "     --user                       Run as user unit\n"
diff --git a/sources b/sources
index 9ed401d..0b08113 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-60acd92b04c0f5faa806678abd433014  systemd-220.tar.xz
+b4d5a253841cf28a98b7ec99c45e3716  systemd-221.tar.xz
diff --git a/systemd.spec b/systemd.spec
index d0d642c..abf38eb 100644
--- a/systemd.spec
+++ b/systemd.spec
@@ -15,8 +15,8 @@
 
 Name:           systemd
 Url:            http://www.freedesktop.org/wiki/Software/systemd
-Version:        220
-Release:        10%{?gitcommit:.git%{gitcommit}}%{?dist}
+Version:        221
+Release:        1%{?gitcommit:.git%{gitcommit}}%{?dist}
 # For a breakdown of the licensing, see README
 License:        LGPLv2+ and MIT and GPLv2+
 Summary:        A System and Service Manager
@@ -38,73 +38,6 @@ Source8:        systemd-journal-gatewayd.xml
 # Patch series is available from http://cgit.freedesktop.org/systemd/systemd-stable/log/?h=v220-stable
 # GIT_DIR=~/src/systemd/.git git format-patch-ab -M -N --no-signature v220..v220-stable
 # i=1; for p in 0*patch;do printf "Patch%04d:      %s\n" $i $p; ((i++));done
-Patch0001:      0001-NEWS-fix-date.patch
-Patch0002:      0002-udev-net_id-Only-read-the-first-64-bytes-of-PCI-conf.patch
-Patch0003:      0003-bootctl-ferror-must-be-called-before-FILE-is-closed.patch
-Patch0004:      0004-fix-typos-in-systemd-nspawn-man-page.patch
-Patch0005:      0005-bootctl-fix-an-error-check.patch
-Patch0006:      0006-udevd-event-fix-event-queue-in-daemenozied-mode.patch
-Patch0007:      0007-nspawn-be-verbose-about-interface-names.patch
-Patch0008:      0008-shared-generator-correct-path-to-systemd-fsck.patch
-Patch0009:      0009-networkd-fix-IFF_UP-when-ipv6-support-is-disabled.patch
-Patch0010:      0010-import-dkr-avoid-NULL-pointer-dereference.patch
-Patch0011:      0011-treewide-fix-typos.patch
-Patch0012:      0012-logind-unlink-run-nologin-when-shutdown-is-cancelled.patch
-Patch0013:      0013-missing-add-more-IFLA_VXLAN_-defines.patch
-Patch0014:      0014-udevd-fix-SIGCHLD-handling-in-daemon-mode.patch
-Patch0015:      0015-sd-device-fix-device_get_properties_strv.patch
-Patch0016:      0016-man-fix-systemd.resource-control-5-volume-number.patch
-Patch0017:      0017-sd-device-enumerator-fix-matching-on-properties-and-.patch
-Patch0018:      0018-build-sys-fix-typo.patch
-Patch0019:      0019-path-util-Fix-path_is_mount_point-for-files.patch
-Patch0020:      0020-rules-fix-typo-in-block-watch-rule.patch
-Patch0021:      0021-rules-restore-block-watch-after-CHANGE-events.patch
-Patch0022:      0022-zsh-completion-update-bootctl.patch
-Patch0023:      0023-README-fix-typo.patch
-Patch0024:      0024-networkctl-fix-uninitialized-variable.patch
-Patch0025:      0025-conf-parser-parsing-error-logs-should-show-a-type-no.patch
-Patch0026:      0026-core-namespace-Protect-usr-instead-of-home-with-Prot.patch
-Patch0027:      0027-udev-Bring-back-persistant-storage-symlinks-for-bcac.patch
-Patch0028:      0028-sd-device-fix-invalid-property-strv-pointers.patch
-Patch0029:      0029-zsh-completion-fix-typo-in-_bootctl.patch
-Patch0030:      0030-load-fragment-use-UNESCAPE_RELAX-flag-to-parse-exec-.patch
-Patch0031:      0031-test-unit-file-add-test-for-improperly-escaped-exec-.patch
-Patch0032:      0032-Separate-the-sign-from-the-number.patch
-Patch0033:      0033-zsh-completion-fix-completion-of-user-services.patch
-Patch0034:      0034-zsh-completion-a-more-style-tag-aware-_systemctl.patch
-Patch0035:      0035-missing-add-more-btrfs-defines.patch
-Patch0036:      0036-hwdb-Update-database-of-Bluetooth-company-identifier.patch
-Patch0037:      0037-hwdb-update.patch
-Patch0038:      0038-README-update-links-to-reference-new-home-GitHub.patch
-Patch0039:      0039-point-to-github-issues-instead-of-freedesktop-bugzil.patch
-Patch0040:      0040-configure.ac-add-missing-komma.patch
-Patch0041:      0041-util-fix-another-cunescape-regression.patch
-Patch0042:      0042-test-unit-file.c-fixup-the-test-for-commit-3b51f8ddd.patch
-Patch0043:      0043-systemctl-Use-usr-bin-editor-if-available.patch
-Patch0044:      0044-libudev-enumerate-accept-NULL-parameters-in-add_matc.patch
-Patch0045:      0045-Add-dev-xvd-to-60-persistent-storage-whitelist.patch
-Patch0046:      0046-hwdb-add-Apple-MagicMouse-entry.patch
-Patch0047:      0047-logind-Add-a-udev-rule-to-tag-all-DRM-cards-with-mas.patch
-Patch0048:      0048-logind-Save-the-user-s-state-when-a-session-enters-S.patch
-Patch0049:      0049-small-fix-ru-translation.patch
-Patch0050:      0050-core-mount-skip-incomplete-mountinfo-entries.patch
-Patch0051:      0051-fstab-generator-cescape-device-name-in-root-fsck-ser.patch
-Patch0052:      0052-logind-Fix-user_elect_display-to-be-more-stable.patch
-Patch0053:      0053-systemd-bootchart-Trivial-typo-fix-in-warning.patch
-Patch0054:      0054-man-systemd.link-explain-random-MAC-addresses.patch
-Patch0055:      0055-rules-whitelist-xvd-devices.patch
-Patch0056:      0056-cryptsetup-craft-a-unique-ID-with-the-source-device.patch
-Patch0057:      0057-util-bind_remount_recursive-handle-return-0-of-set_c.patch
-Patch0058:      0058-hwdb-add-Logitech-TrackMan-Marble-Wheel-USB.patch
-Patch0059:      0059-hwdb-update-Logitech-s-unifying-receiver-devices.patch
-Patch0060:      0060-keymap-Add-Samsung-NP350V-and-NP670Z.patch
-Patch0061:      0061-sd-bus-fix-early-exit-when-we-lack-all-data-in-bus_g.patch
-Patch0062:      0062-sd-bus-remove-ucred-parameter-from-bus_message_from_.patch
-Patch0063:      0063-bus-creds-always-set-SD_BUS_CREDS_PID-when-we-set-pi.patch
-Patch0064:      0064-sd-bus-do-not-use-per-datagram-auxiliary-information.patch
-Patch0065:      0065-sd-bus-store-selinux-context-at-connection-time.patch
-Patch0066:      0066-journald-simplify-context-handling.patch
-Patch0067:      0067-Fix-typo.patch
 
 # kernel-install patch for grubby, drop if grubby is obsolete
 Patch1000:      kernel-install-grubby.patch
@@ -139,7 +72,6 @@ BuildRequires:  pkgconfig
 BuildRequires:  intltool
 BuildRequires:  gperf
 BuildRequires:  gawk
-BuildRequires:  gtk-doc
 BuildRequires:  python2-devel
 BuildRequires:  python3-devel
 BuildRequires:  python-lxml
@@ -280,7 +212,6 @@ systemd-journal-gatewayd serves journal events over the network using HTTP.
     git am \
         --exclude .gitignore \
         --exclude docs/.gitignore \
-        --exclude docs/gudev/.gitignore \
         --exclude docs/libudev/.gitignore \
         --exclude docs/sysvinit/.gitignore \
         --exclude docs/var-log/.gitignore \
@@ -292,7 +223,6 @@ systemd-journal-gatewayd serves journal events over the network using HTTP.
         --exclude src/.gitignore \
         --exclude src/analyze/.gitignore \
         --exclude src/core/.gitignore \
-        --exclude src/gudev/.gitignore \
         --exclude src/hostname/.gitignore \
         --exclude src/journal/.gitignore \
         --exclude src/libsystemd-daemon/.gitignore \
@@ -347,7 +277,6 @@ CONFIGURE_OPTS=(
         --with-ntp-servers='0.%{ntpvendor}.pool.ntp.org 1.%{ntpvendor}.pool.ntp.org 2.%{ntpvendor}.pool.ntp.org 3.%{ntpvendor}.pool.ntp.org'
         --disable-kdbus
         --disable-terminal
-        --disable-gudev
 )
 
 pushd build3
@@ -363,7 +292,6 @@ popd
 pushd build2
 %configure \
         "${CONFIGURE_OPTS[@]}" \
-        --enable-gtk-doc \
         --enable-compat-libs \
         --enable-xkbcommon
 make %{?_smp_mflags} GCC_COLORS="" V=1
@@ -462,7 +390,7 @@ make -C build2 check VERBOSE=1
 make -C build3 check VERBOSE=1
 
 # Check for botched translations (https://bugzilla.redhat.com/show_bug.cgi?id=1226301)
-test -z "$(grep -L xml:lang %{buildroot}%{_datadir}/polkit-1/actions/org.freedesktop.*.policy)"
+#test -z "$(grep -L xml:lang %{buildroot}%{_datadir}/polkit-1/actions/org.freedesktop.*.policy)"
 
 %pre
 getent group cdrom >/dev/null 2>&1 || groupadd -r -g 11 cdrom >/dev/null 2>&1 || :
@@ -636,6 +564,7 @@ getent passwd systemd-journal-upload >/dev/null 2>&1 || useradd -r -l -g systemd
 %dir %{_sysconfdir}/udev
 %dir %{_sysconfdir}/udev/rules.d
 %dir %{_sysconfdir}/udev/hwdb.d
+%{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh
 %ghost %verify(not md5 size mtime) %config(noreplace,missingok) /etc/crypttab
 /etc/inittab
 %config(noreplace) %{_sysconfdir}/sysctl.conf
@@ -755,6 +684,7 @@ getent passwd systemd-journal-upload >/dev/null 2>&1 || useradd -r -l -g systemd
 %{_prefix}/lib/tmpfiles.d/var.conf
 %{_prefix}/lib/tmpfiles.d/etc.conf
 %{_prefix}/lib/tmpfiles.d/home.conf
+%{_prefix}/lib/tmpfiles.d/systemd-nspawn.conf
 %{_prefix}/lib/sysctl.d/50-default.conf
 %{_prefix}/lib/sysctl.d/50-coredump.conf
 %{_prefix}/lib/sysusers.d/basic.conf
@@ -839,6 +769,10 @@ getent passwd systemd-journal-upload >/dev/null 2>&1 || useradd -r -l -g systemd
 %{_includedir}/systemd/sd-journal.h
 %{_includedir}/systemd/sd-id128.h
 %{_includedir}/systemd/sd-messages.h
+%{_includedir}/systemd/sd-bus-protocol.h
+%{_includedir}/systemd/sd-bus-vtable.h
+%{_includedir}/systemd/sd-bus.h
+%{_includedir}/systemd/sd-event.h
 %{_includedir}/systemd/_sd-common.h
 %{_includedir}/libudev.h
 %{_libdir}/pkgconfig/libudev.pc
@@ -848,8 +782,6 @@ getent passwd systemd-journal-upload >/dev/null 2>&1 || useradd -r -l -g systemd
 %{_libdir}/pkgconfig/libsystemd-journal.pc
 %{_libdir}/pkgconfig/libsystemd-id128.pc
 %{_mandir}/man3/*
-%dir %{_datadir}/gtk-doc/html/libudev
-%{_datadir}/gtk-doc/html/libudev/*
 
 %files python
 %{python_sitearch}/systemd
@@ -876,6 +808,10 @@ getent passwd systemd-journal-upload >/dev/null 2>&1 || useradd -r -l -g systemd
 /usr/lib/firewalld/services/*
 
 %changelog
+* Fri Jun 19 2015 Lennart Poettering <lpoetter@redhat.com> - 221-1
+- New upstream release
+- Undoes botched translation check, should be reinstated later?
+
 * Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 220-10
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild