diff --git a/.gitignore b/.gitignore
index b36ac23..9ef219e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -24,3 +24,4 @@ systemd-*src.rpm
 /systemd-24.tar.bz2
 /systemd-25.tar.bz2
 /systemd-26.tar.bz2
+/systemd-28.tar.bz2
diff --git a/0001-dbus-common-fix-segfault-when-a-DBus-message-has-no-.patch b/0001-dbus-common-fix-segfault-when-a-DBus-message-has-no-.patch
deleted file mode 100644
index c9efb53..0000000
--- a/0001-dbus-common-fix-segfault-when-a-DBus-message-has-no-.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From cda2b84a69905aafe2f8c6bd3f1c9eefe92b6bbb Mon Sep 17 00:00:00 2001
-From: Michal Schmidt <mschmidt@redhat.com>
-Date: Wed, 25 May 2011 16:17:17 +0200
-Subject: [PATCH] dbus-common: fix segfault when a DBus message has no
- interface
-
-dbus_message_get_interface() may return NULL.
-
-https://bugzilla.redhat.com/show_bug.cgi?id=707483
----
- src/dbus-common.c |   10 +++++++---
- 1 files changed, 7 insertions(+), 3 deletions(-)
-
-diff --git a/src/dbus-common.c b/src/dbus-common.c
-index 9bf0dab..5db077b 100644
---- a/src/dbus-common.c
-+++ b/src/dbus-common.c
-@@ -418,9 +418,13 @@ DBusHandlerResult bus_default_message_handler(
-                         return bus_send_error_reply(c, message, &error, -EINVAL);
-                 }
- 
--        } else if (!nulstr_contains(interfaces, dbus_message_get_interface(message))) {
--                dbus_set_error_const(&error, DBUS_ERROR_UNKNOWN_INTERFACE, "Unknown interface");
--                return bus_send_error_reply(c, message, &error, -EINVAL);
-+        } else {
-+                const char *interface = dbus_message_get_interface(message);
-+
-+                if (!interface || !nulstr_contains(interfaces, interface)) {
-+                        dbus_set_error_const(&error, DBUS_ERROR_UNKNOWN_INTERFACE, "Unknown interface");
-+                        return bus_send_error_reply(c, message, &error, -EINVAL);
-+                }
-         }
- 
-         if (reply) {
--- 
-1.7.5.2
-
diff --git a/0001-pam-downgrade-a-few-log-msgs.patch b/0001-pam-downgrade-a-few-log-msgs.patch
deleted file mode 100644
index 158fad7..0000000
--- a/0001-pam-downgrade-a-few-log-msgs.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 53d5582fa006b0eb528f5dc3f4ba978abd8ac5a3 Mon Sep 17 00:00:00 2001
-From: Lennart Poettering <lennart@poettering.net>
-Date: Mon, 16 May 2011 23:31:06 +0200
-Subject: [PATCH] pam: downgrade a few log msgs
-
----
- src/pam-module.c |    6 +++---
- 1 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/src/pam-module.c b/src/pam-module.c
-index 93eb929..03864fe 100644
---- a/src/pam-module.c
-+++ b/src/pam-module.c
-@@ -505,7 +505,7 @@ _public_ PAM_EXTERN int pam_sm_open_session(
-                 goto finish;
-         }
- 
--        pam_syslog(handle, LOG_INFO, "Moving new user session for %s into control group %s.", username, buf);
-+        pam_syslog(handle, LOG_DEBUG, "Moving new user session for %s into control group %s.", username, buf);
- 
-         if ((r = create_user_group(handle, SYSTEMD_CGROUP_CONTROLLER, buf, pw, true, true)) != PAM_SUCCESS)
-                 goto finish;
-@@ -676,13 +676,13 @@ _public_ PAM_EXTERN int pam_sm_close_session(
-                 }
- 
-                 if (kill_session && check_user_lists(handle, pw->pw_uid, kill_only_users, kill_exclude_users))  {
--                        pam_syslog(handle, LOG_INFO, "Killing remaining processes of user session %s of %s.", id, username);
-+                        pam_syslog(handle, LOG_DEBUG, "Killing remaining processes of user session %s of %s.", id, username);
- 
-                         /* Kill processes in session cgroup, and delete it */
-                         if ((r = cg_kill_recursive_and_wait(SYSTEMD_CGROUP_CONTROLLER, session_path, true)) < 0)
-                                 pam_syslog(handle, LOG_ERR, "Failed to kill session cgroup: %s", strerror(-r));
-                 } else {
--                        pam_syslog(handle, LOG_INFO, "Moving remaining processes of user session %s of %s into control group %s.", id, username, nosession_path);
-+                        pam_syslog(handle, LOG_DEBUG, "Moving remaining processes of user session %s of %s into control group %s.", id, username, nosession_path);
- 
-                         /* Migrate processes from session to user
-                          * cgroup. First, try to create the user group
--- 
-1.7.5.2
-
diff --git a/0001-readahead-collect-ignore-EACCES-for-fanotify.patch b/0001-readahead-collect-ignore-EACCES-for-fanotify.patch
deleted file mode 100644
index 7570e00..0000000
--- a/0001-readahead-collect-ignore-EACCES-for-fanotify.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 3afe3725fcf21fab7204243b9485a118e499b4a3 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Wed, 25 May 2011 13:09:08 +0200
-Subject: [PATCH] readahead-collect: ignore EACCES for fanotify
-
-At the start of auditd, we are temporarily not able to read
-from the fanotify fd. Ignoring it, seems to work.
----
- src/readahead-collect.c |    2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/src/readahead-collect.c b/src/readahead-collect.c
-index 3c48a02..913a340 100644
---- a/src/readahead-collect.c
-+++ b/src/readahead-collect.c
-@@ -380,7 +380,7 @@ static int collect(const char *root) {
- 
-                 if ((n = read(fanotify_fd, &data, sizeof(data))) < 0) {
- 
--                        if (errno == EINTR || errno == EAGAIN)
-+                        if (errno == EINTR || errno == EAGAIN || errno == EACCES)
-                                 continue;
- 
-                         log_error("Failed to read event: %m");
--- 
-1.7.5.2
-
diff --git a/0001-vconsole-use-open_terminal-instead-of-open.patch b/0001-vconsole-use-open_terminal-instead-of-open.patch
deleted file mode 100644
index 4098069..0000000
--- a/0001-vconsole-use-open_terminal-instead-of-open.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From a96257af783f1d2c35a957466856e62ebf82bcad Mon Sep 17 00:00:00 2001
-From: Lennart Poettering <lennart@poettering.net>
-Date: Tue, 3 May 2011 17:58:28 +0200
-Subject: [PATCH] vconsole: use open_terminal() instead of open()
-
----
- src/vconsole-setup.c |    2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/src/vconsole-setup.c b/src/vconsole-setup.c
-index 1be260b..68ebac9 100644
---- a/src/vconsole-setup.c
-+++ b/src/vconsole-setup.c
-@@ -176,7 +176,7 @@ int main(int argc, char **argv) {
-         else
-                 vc = "/dev/tty0";
- 
--        if ((fd = open(vc, O_RDWR|O_CLOEXEC)) < 0) {
-+        if ((fd = open_terminal(vc, O_RDWR|O_CLOEXEC)) < 0) {
-                 log_error("Failed to open %s: %m", vc);
-                 goto finish;
-         }
--- 
-1.7.5.2
-
diff --git a/sources b/sources
index a640b48..b80f019 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-b7c468aa400c64d02d533eba6359e283  systemd-26.tar.bz2
+be37500f576a0494f82fed7fa47cc306  systemd-28.tar.bz2
diff --git a/systemd.spec b/systemd.spec
index 5876a9c..99a9f01 100644
--- a/systemd.spec
+++ b/systemd.spec
@@ -1,8 +1,8 @@
 Name:           systemd
 Url:            http://www.freedesktop.org/wiki/Software/systemd
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-Version:        26
-Release:        2%{?dist}
+Version:        28
+Release:        1%{?dist}
 License:        GPLv2+
 Group:          System Environment/Base
 Summary:        A System and Service Manager
@@ -36,10 +36,6 @@ Source0:        http://www.freedesktop.org/software/systemd/%{name}-%{version}.t
 # Adds support for the %%{_unitdir} macro
 Source1:        macros.systemd
 Source2:        systemd-sysv-convert
-Patch0:         0001-dbus-common-fix-segfault-when-a-DBus-message-has-no-.patch
-Patch1:         0001-readahead-collect-ignore-EACCES-for-fanotify.patch
-Patch2:         0001-vconsole-use-open_terminal-instead-of-open.patch
-Patch3:         0001-pam-downgrade-a-few-log-msgs.patch
 
 # For sysvinit tools
 Obsoletes:      SysVinit < 2.86-24, sysvinit < 2.86-24
@@ -93,10 +89,6 @@ SysV compatibility tools for systemd
 
 %prep
 %setup -q
-%patch0 -p1
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
 
 %build
 %configure --with-rootdir= --with-distro=fedora
@@ -299,6 +291,9 @@ fi
 %{_bindir}/systemd-sysv-convert
 
 %changelog
+* Thu May 26 2011 Lennart Poettering <lpoetter@redhat.com> - 28-1
+- New upstream release
+
 * Wed May 25 2011 Lennart Poettering <lpoetter@redhat.com> - 26-2
 - Bugfix release
 - https://bugzilla.redhat.com/show_bug.cgi?id=707507