systemd: Remove journald sync patches
The phosphor-logging interface has been updated to call a local interface to
sync the journal instead of making a D-Bus call:
https://gerrit.openbmc-project.xyz/#/c/9910/
Delete the journald patches since they're not needed anymore.
Tested: Built witherspoon image.
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
Change-Id: Ie6b4387bf53ea4c29a7bbef6483ef723c333dfdf
diff --git a/meta-phosphor/common/recipes-core/systemd/systemd/0006-journal-Create-journald-dbus-object.patch b/meta-phosphor/common/recipes-core/systemd/systemd/0006-journal-Create-journald-dbus-object.patch
deleted file mode 100644
index df0ec80..0000000
--- a/meta-phosphor/common/recipes-core/systemd/systemd/0006-journal-Create-journald-dbus-object.patch
+++ /dev/null
@@ -1,336 +0,0 @@
-From a20bca191d6a624a413f4d44436006da221aa3c7 Mon Sep 17 00:00:00 2001
-From: Adriana Kobylak <anoo@us.ibm.com>
-Date: Tue, 6 Jun 2017 15:15:57 -0500
-Subject: [PATCH 1/2] journal: Create journald dbus object
-
-Create the org.freedesktop.journal1 dbus
-interface to make available journal functionality
-through the dbus. Set it to be disabled by default.
----
- Makefile.am | 40 ++++++++++++
- configure.ac | 9 +++
- src/journal/journald-dbus.c | 86 ++++++++++++++++++++++++++
- src/journal/org.freedesktop.journal1.conf | 27 ++++++++
- src/journal/org.freedesktop.journal1.policy | 9 +++
- src/journal/org.freedesktop.journal1.policy.in | 19 ++++++
- src/journal/org.freedesktop.journal1.service | 12 ++++
- units/org.freedesktop.journal1.busname | 13 ++++
- units/systemd-journald-dbus.service.in | 19 ++++++
- 9 files changed, 234 insertions(+)
- create mode 100644 src/journal/journald-dbus.c
- create mode 100644 src/journal/org.freedesktop.journal1.conf
- create mode 100644 src/journal/org.freedesktop.journal1.policy
- create mode 100644 src/journal/org.freedesktop.journal1.policy.in
- create mode 100644 src/journal/org.freedesktop.journal1.service
- create mode 100644 units/org.freedesktop.journal1.busname
- create mode 100644 units/systemd-journald-dbus.service.in
-
-diff --git a/Makefile.am b/Makefile.am
-index 1cc657a..9e231bb 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -5966,6 +5966,46 @@ EXTRA_DIST += \
- test/networkd-test.py
-
- # ------------------------------------------------------------------------------
-+if ENABLE_JOURNALD_DBUS
-+systemd_journald_dbus_SOURCES = \
-+ src/journal/journald-dbus.c
-+
-+systemd_journald_dbus_LDADD = \
-+ libsystemd-shared.la
-+
-+rootlibexec_PROGRAMS += \
-+ systemd-journald-dbus
-+
-+nodist_systemunit_DATA += \
-+ units/systemd-journald-dbus.service
-+
-+dist_systemunit_DATA_busnames += \
-+ units/org.freedesktop.journal1.busname
-+
-+dist_dbuspolicy_DATA += \
-+ src/journal/org.freedesktop.journal1.conf
-+
-+dist_dbussystemservice_DATA += \
-+ src/journal/org.freedesktop.journal1.service
-+
-+polkitpolicy_files += \
-+ src/journal/org.freedesktop.journal1.policy
-+
-+SYSTEM_UNIT_ALIASES += \
-+ systemd-journald-dbus.service dbus-org.freedesktop.journal1.service
-+
-+BUSNAMES_TARGET_WANTS += \
-+ org.freedesktop.journal1.busname
-+
-+endif
-+
-+polkitpolicy_in_files += \
-+ src/journal/org.freedesktop.journal1.policy.in
-+
-+EXTRA_DIST += \
-+ units/systemd-journald-dbus.service.in
-+
-+# ------------------------------------------------------------------------------
- if ENABLE_LOGIND
- systemd_logind_SOURCES = \
- src/login/logind.c \
-diff --git a/configure.ac b/configure.ac
-index cf37ca6..33a30a6 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1468,6 +1468,14 @@ AS_IF([test "x$enable_manpages" != xno], [
- AM_CONDITIONAL(ENABLE_MANPAGES, [test "x$have_manpages" = "xyes"])
-
- # ------------------------------------------------------------------------------
-+have_journald_dbus=no
-+AC_ARG_ENABLE(journald_dbus, AS_HELP_STRING([--disable-journald-dbus], [disable journal dbus objects]))
-+if test "x$enable_journald_dbus" != "xno"; then
-+ have_journald_dbus=yes
-+fi
-+AM_CONDITIONAL(ENABLE_JOURNALD_DBUS, [test "$have_journald_dbus" = "yes"])
-+
-+# ------------------------------------------------------------------------------
- AC_ARG_ENABLE(hibernate,
- [AS_HELP_STRING([--disable-hibernate], [disable hibernation support])],
- enable_hibernate=$enableval, enable_hibernate=yes)
-@@ -1742,6 +1750,7 @@ AC_MSG_RESULT([
- tpm: ${have_tpm}
- Python: ${have_python}
- man pages: ${have_manpages}
-+ journald-dbus: ${have_journald_dbus}
- test coverage: ${have_coverage}
- Split /usr: ${enable_split_usr}
- SysV compatibility: ${SYSTEM_SYSV_COMPAT}
-diff --git a/src/journal/journald-dbus.c b/src/journal/journald-dbus.c
-new file mode 100644
-index 0000000..6f8c3d3
---- /dev/null
-+++ b/src/journal/journald-dbus.c
-@@ -0,0 +1,86 @@
-+/***
-+ This file is part of systemd.
-+
-+ Copyright 2017
-+
-+ systemd is free software; you can redistribute it and/or modify it
-+ under the terms of the GNU Lesser General Public License as published by
-+ the Free Software Foundation; either version 2.1 of the License, or
-+ (at your option) any later version.
-+
-+ systemd is distributed in the hope that it will be useful, but
-+ WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ Lesser General Public License for more details.
-+
-+ You should have received a copy of the GNU Lesser General Public License
-+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
-+***/
-+
-+#include "bus-util.h"
-+#include "def.h"
-+#include "sd-bus.h"
-+
-+static int connect_bus(sd_event *event, sd_bus **_bus) {
-+ _cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
-+ int r;
-+
-+ assert(event);
-+ assert(_bus);
-+
-+ r = sd_bus_default_system(&bus);
-+ if (r < 0)
-+ return log_error_errno(r, "Failed to get system bus connection: %m");
-+
-+ r = sd_bus_request_name(bus, "org.freedesktop.journal1", 0);
-+ if (r < 0)
-+ return log_error_errno(r, "Failed to register name: %m");
-+
-+ r = sd_bus_attach_event(bus, event, 0);
-+ if (r < 0)
-+ return log_error_errno(r, "Failed to attach bus to event loop: %m");
-+
-+ *_bus = bus;
-+ bus = NULL;
-+
-+ return 0;
-+}
-+
-+int main(int argc, char *argv[]) {
-+ _cleanup_(sd_event_unrefp) sd_event *event = NULL;
-+ _cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
-+ int r;
-+
-+ log_set_target(LOG_TARGET_AUTO);
-+ log_parse_environment();
-+ log_open();
-+
-+ umask(0022);
-+
-+ if (argc != 1) {
-+ log_error("This program takes no arguments.");
-+ r = -EINVAL;
-+ goto finish;
-+ }
-+
-+ r = sd_event_default(&event);
-+ if (r < 0) {
-+ log_error_errno(r, "Failed to allocate event loop: %m");
-+ goto finish;
-+ }
-+
-+ sd_event_set_watchdog(event, true);
-+
-+ r = connect_bus(event, &bus);
-+ if (r < 0)
-+ goto finish;
-+
-+ r = bus_event_loop_with_idle(event, bus, "org.freedesktop.journal1", DEFAULT_EXIT_USEC, NULL, NULL);
-+ if (r < 0) {
-+ log_error_errno(r, "Failed to run event loop: %m");
-+ goto finish;
-+ }
-+
-+finish:
-+ return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
-+}
-diff --git a/src/journal/org.freedesktop.journal1.conf b/src/journal/org.freedesktop.journal1.conf
-new file mode 100644
-index 0000000..2e93596
---- /dev/null
-+++ b/src/journal/org.freedesktop.journal1.conf
-@@ -0,0 +1,27 @@
-+<?xml version="1.0"?> <!--*-nxml-*-->
-+<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
-+ "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
-+
-+<!--
-+ This file is part of systemd.
-+
-+ systemd is free software; you can redistribute it and/or modify it
-+ under the terms of the GNU Lesser General Public License as published by
-+ the Free Software Foundation; either version 2.1 of the License, or
-+ (at your option) any later version.
-+-->
-+
-+<busconfig>
-+
-+ <policy user="root">
-+ <allow own="org.freedesktop.journal1"/>
-+ <allow send_destination="org.freedesktop.journal1"/>
-+ <allow receive_sender="org.freedesktop.journal1"/>
-+ </policy>
-+
-+ <policy context="default">
-+ <allow send_destination="org.freedesktop.journal1"/>
-+ <allow receive_sender="org.freedesktop.journal1"/>
-+ </policy>
-+
-+</busconfig>
-diff --git a/src/journal/org.freedesktop.journal1.policy b/src/journal/org.freedesktop.journal1.policy
-new file mode 100644
-index 0000000..9b0c362
---- /dev/null
-+++ b/src/journal/org.freedesktop.journal1.policy
-@@ -0,0 +1,9 @@
-+<?xml version="1.0" encoding="UTF-8"?>
-+<!DOCTYPE policyconfig PUBLIC "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
-+ "http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
-+<policyconfig>
-+
-+ <vendor>The systemd Project</vendor>
-+ <vendor_url>http://www.freedesktop.org/wiki/Software/systemd</vendor_url>
-+
-+</policyconfig>
-\ No newline at end of file
-diff --git a/src/journal/org.freedesktop.journal1.policy.in b/src/journal/org.freedesktop.journal1.policy.in
-new file mode 100644
-index 0000000..811865c
---- /dev/null
-+++ b/src/journal/org.freedesktop.journal1.policy.in
-@@ -0,0 +1,19 @@
-+<?xml version="1.0" encoding="UTF-8"?> <!--*-nxml-*-->
-+<!DOCTYPE policyconfig PUBLIC "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
-+ "http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
-+
-+<!--
-+ This file is part of systemd.
-+
-+ systemd is free software; you can redistribute it and/or modify it
-+ under the terms of the GNU Lesser General Public License as published by
-+ the Free Software Foundation; either version 2.1 of the License, or
-+ (at your option) any later version.
-+-->
-+
-+<policyconfig>
-+
-+ <vendor>The systemd Project</vendor>
-+ <vendor_url>http://www.freedesktop.org/wiki/Software/systemd</vendor_url>
-+
-+</policyconfig>
-diff --git a/src/journal/org.freedesktop.journal1.service b/src/journal/org.freedesktop.journal1.service
-new file mode 100644
-index 0000000..6734a5e
---- /dev/null
-+++ b/src/journal/org.freedesktop.journal1.service
-@@ -0,0 +1,12 @@
-+# This file is part of systemd.
-+#
-+# systemd is free software; you can redistribute it and/or modify it
-+# under the terms of the GNU Lesser General Public License as published by
-+# the Free Software Foundation; either version 2.1 of the License, or
-+# (at your option) any later version.
-+
-+[D-BUS Service]
-+Name=org.freedesktop.journal1
-+Exec=/bin/false
-+User=root
-+SystemdService=dbus-org.freedesktop.journal1.service
-diff --git a/units/org.freedesktop.journal1.busname b/units/org.freedesktop.journal1.busname
-new file mode 100644
-index 0000000..de65cd4
---- /dev/null
-+++ b/units/org.freedesktop.journal1.busname
-@@ -0,0 +1,13 @@
-+# This file is part of systemd.
-+#
-+# systemd is free software; you can redistribute it and/or modify it
-+# under the terms of the GNU Lesser General Public License as published by
-+# the Free Software Foundation; either version 2.1 of the License, or
-+# (at your option) any later version.
-+
-+[Unit]
-+Description=Journal Service Bus Name
-+
-+[BusName]
-+Service=systemd-journald-dbus.service
-+AllowWorld=talk
-diff --git a/units/systemd-journald-dbus.service.in b/units/systemd-journald-dbus.service.in
-new file mode 100644
-index 0000000..c8652e8
---- /dev/null
-+++ b/units/systemd-journald-dbus.service.in
-@@ -0,0 +1,19 @@
-+# This file is part of systemd.
-+#
-+# systemd is free software; you can redistribute it and/or modify it
-+# under the terms of the GNU Lesser General Public License as published by
-+# the Free Software Foundation; either version 2.1 of the License, or
-+# (at your option) any later version.
-+
-+[Unit]
-+Description=Journal Dbus Service
-+
-+[Service]
-+ExecStart=@rootlibexecdir@/systemd-journald-dbus
-+BusName=org.freedesktop.journal1
-+WatchdogSec=3min
-+CapabilityBoundingSet=CAP_SYS_ADMIN CAP_DAC_OVERRIDE CAP_SYS_PTRACE CAP_SYSLOG CAP_AUDIT_CONTROL CAP_AUDIT_READ CAP_CHOWN CAP_DAC_READ_SEARCH CAP_FOWNER CAP_SETUID CAP_SETGID CAP_MAC_OVERRIDE
-+MemoryDenyWriteExecute=yes
-+RestrictRealtime=yes
-+RestrictAddressFamilies=AF_UNIX AF_NETLINK
-+SystemCallFilter=~@clock @cpu-emulation @debug @keyring @module @mount @obsolete @raw-io
---
-1.8.2.2
-
diff --git a/meta-phosphor/common/recipes-core/systemd/systemd/0007-journal-Add-Synchronize-dbus-method.patch b/meta-phosphor/common/recipes-core/systemd/systemd/0007-journal-Add-Synchronize-dbus-method.patch
deleted file mode 100644
index fbc23a2..0000000
--- a/meta-phosphor/common/recipes-core/systemd/systemd/0007-journal-Add-Synchronize-dbus-method.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 7f770c9f0dadd72c82ada3939bab1cb88dcbd9fd Mon Sep 17 00:00:00 2001
-From: Adriana Kobylak <anoo@us.ibm.com>
-Date: Tue, 6 Jun 2017 14:55:52 -0500
-Subject: [PATCH 2/2] journal: Add Synchronize dbus method
-
-Add a Synchronize dbus method that performs
-the function of the 'journalctl --sync' call.
-Callers can then call this method in a blocking
-or async manner.
----
- src/journal/journald-dbus.c | 18 ++++++++++++++++++
- 1 file changed, 18 insertions(+)
-
-diff --git a/src/journal/journald-dbus.c b/src/journal/journald-dbus.c
-index 6f8c3d3..561482b 100644
---- a/src/journal/journald-dbus.c
-+++ b/src/journal/journald-dbus.c
-@@ -21,6 +21,20 @@
- #include "def.h"
- #include "sd-bus.h"
-
-+static int method_synchronize(sd_bus_message *m, void *userdata, sd_bus_error *error) {
-+ int r;
-+
-+ r = system("journalctl --sync");
-+ r = WEXITSTATUS(r);
-+ return sd_bus_reply_method_return(m, "i", r);
-+}
-+
-+static const sd_bus_vtable journal_vtable[] = {
-+ SD_BUS_VTABLE_START(0),
-+ SD_BUS_METHOD("Synchronize", NULL, "i", method_synchronize, SD_BUS_VTABLE_UNPRIVILEGED),
-+ SD_BUS_VTABLE_END,
-+};
-+
- static int connect_bus(sd_event *event, sd_bus **_bus) {
- _cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
- int r;
-@@ -32,6 +46,10 @@ static int connect_bus(sd_event *event, sd_bus **_bus) {
- if (r < 0)
- return log_error_errno(r, "Failed to get system bus connection: %m");
-
-+ r = sd_bus_add_object_vtable(bus, NULL, "/org/freedesktop/journal1", "org.freedesktop.journal1", journal_vtable, NULL);
-+ if (r < 0)
-+ return log_error_errno(r, "Failed to register object: %m");
-+
- r = sd_bus_request_name(bus, "org.freedesktop.journal1", 0);
- if (r < 0)
- return log_error_errno(r, "Failed to register name: %m");
---
-1.8.2.2
-
diff --git a/meta-phosphor/common/recipes-core/systemd/systemd_%.bbappend b/meta-phosphor/common/recipes-core/systemd/systemd_%.bbappend
index 0fd7c7a..38dd34c 100644
--- a/meta-phosphor/common/recipes-core/systemd/systemd_%.bbappend
+++ b/meta-phosphor/common/recipes-core/systemd/systemd_%.bbappend
@@ -1,7 +1,7 @@
FILES_${PN}-catalog-extralocales = \
"${exec_prefix}/lib/systemd/catalog/*.*.catalog"
PACKAGES =+ "${PN}-catalog-extralocales"
-PACKAGECONFIG_append = " networkd coredump journald-dbus"
+PACKAGECONFIG_append = " networkd coredump"
PACKAGECONFIG_remove = "machined hibernate ldconfig binfmt backlight localed \
quotacheck kdbus ima smack polkit logind bootchart utmp \
manpages"
@@ -16,13 +16,6 @@
#TODO upstream the below patch via below issue
#https://github.com/openbmc/openbmc/issues/2016
SRC_URI += "file://0005-dont-return-error-if-unable-to-create-network-namespace.patch"
-SRC_URI += "file://0006-journal-Create-journald-dbus-object.patch"
-
-# Extra configuration for journald-dbus patch
-PACKAGECONFIG[journald-dbus] = "--enable-journald-dbus,--disable-journald-dbus"
-FILES_${PN} += "${datadir}/dbus-1/system.d/org.freedesktop.journal1.conf"
-
-SRC_URI += "file://0007-journal-Add-Synchronize-dbus-method.patch"
SRC_URI_append_df-obmc-ubi-fs = " file://software.conf"
SRC_URI += "file://0001-watchdog-allow-a-device-path-to-be-specified.patch"