diff options
author | Adriana Kobylak <anoo@us.ibm.com> | 2018-04-03 15:07:32 -0500 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2018-04-18 20:31:14 +0000 |
commit | 19bd5079cea16b6e8b1b3ab938ad6428884a8d41 (patch) | |
tree | a42dfb7b0eb789d6d15882a36c5afc949c643e7a | |
parent | 1065559cfc44d811a8bce3a256df48494519becc (diff) | |
download | talos-openbmc-19bd5079cea16b6e8b1b3ab938ad6428884a8d41.tar.gz talos-openbmc-19bd5079cea16b6e8b1b3ab938ad6428884a8d41.zip |
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
3 files changed, 1 insertions, 396 deletions
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 df0ec805e..000000000 --- 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 fbc23a29e..000000000 --- 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 0fd7c7a8b..38dd34cff 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 @@ SRC_URI += "file://0004-basic-Use-path-escaping-when-mangling-path-instances.pat #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" |