Blob Blame History Raw
From 62cd5c826756efc3acb24267cb4271c0a615c8e9 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Wed, 6 May 2020 10:32:38 -0400
Subject: [PATCH] main: drop error spooling

In the olden days, the login screen contained a little system
tray icon to show errors from boot.  We ditched that years ago,
but we still have the backend code in place for it.

Drop that unnecessary code.
---
 src/Makefile.am |  1 -
 src/main.c      | 53 -------------------------------------------------
 2 files changed, 54 deletions(-)

diff --git a/src/Makefile.am b/src/Makefile.am
index fc2f5da..3aab240 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,40 +1,39 @@
 SUBDIRS = libply libply-splash-core libply-splash-graphics . plugins client viewer
 if ENABLE_UPSTART_MONITORING
 SUBDIRS += upstart-bridge
 endif
 AM_CPPFLAGS = -I$(top_srcdir)                                                 \
            -I$(srcdir)/libply                                                 \
            -I$(srcdir)/libply-splash-core                                     \
            -I$(srcdir)                                                        \
            -DPLYMOUTH_LOG_DIRECTORY=\"$(localstatedir)/log\"                  \
-           -DPLYMOUTH_SPOOL_DIRECTORY=\"$(localstatedir)/spool/plymouth\"     \
            -DPLYMOUTH_TIME_DIRECTORY=\"$(localstatedir)/lib/plymouth/\"       \
            -DPLYMOUTH_LOGO_FILE=\"$(logofile)\"
 
 plymouthdbindir = $(plymouthdaemondir)
 plymouthdbin_PROGRAMS = plymouthd
 
 plymouthd_CFLAGS = $(PLYMOUTH_CFLAGS)                                         \
 		   -rdynamic                                                  \
 		   -DPLYMOUTH_PLUGIN_PATH=\"$(PLYMOUTH_PLUGIN_PATH)\"         \
 		   -DPLYMOUTH_THEME_PATH=\"$(PLYMOUTH_THEME_PATH)/\"          \
 		   -DPLYMOUTH_POLICY_DIR=\"$(PLYMOUTH_POLICY_DIR)/\"          \
 		   -DPLYMOUTH_RUNTIME_DIR=\"$(PLYMOUTH_RUNTIME_DIR)\"         \
 		   -DPLYMOUTH_CONF_DIR=\"$(PLYMOUTH_CONF_DIR)/\"
 plymouthd_LDADD = $(PLYMOUTH_LIBS) libply/libply.la libply-splash-core/libply-splash-core.la
 plymouthd_SOURCES =                                                            \
                    ply-boot-protocol.h                                        \
                    ply-boot-server.h                                          \
                    ply-boot-server.c                                          \
                    plugins/splash/details/plugin.c                  \
                    main.c
 
 plymouthdrundir = $(localstatedir)/run/plymouth
 plymouthdspooldir = $(localstatedir)/spool/plymouth
 plymouthdtimedir = $(localstatedir)/lib/plymouth
 
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = ply-splash-core.pc ply-splash-graphics.pc
 
 plymouthd_defaultsdir = $(PLYMOUTH_POLICY_DIR)
 dist_plymouthd_defaults_DATA = plymouthd.defaults
diff --git a/src/main.c b/src/main.c
index 68c1d89..b1b8035 100644
--- a/src/main.c
+++ b/src/main.c
@@ -696,151 +696,98 @@ get_cache_file_for_mode (ply_mode_t mode)
     }
 
   ply_trace ("returning cache file '%s'", filename);
   return filename;
 }
 
 static const char *
 get_log_file_for_mode (ply_mode_t mode)
 {
   const char *filename;
 
   switch ((int)mode)
     {
     case PLY_MODE_BOOT:
       filename = PLYMOUTH_LOG_DIRECTORY "/boot.log";
       break;
     case PLY_MODE_SHUTDOWN:
     case PLY_MODE_UPDATES:
       filename = _PATH_DEVNULL;
       break;
     default:
       ply_error ("Unhandled case in %s line %d\n", __FILE__, __LINE__);
       abort ();
       break;
     }
 
   ply_trace ("returning log file '%s'", filename);
   return filename;
 }
 
-static const char *
-get_log_spool_file_for_mode (ply_mode_t mode)
-{
-  const char *filename;
-
-  switch ((int)mode)
-    {
-    case PLY_MODE_BOOT:
-      filename = PLYMOUTH_SPOOL_DIRECTORY "/boot.log";
-      break;
-    case PLY_MODE_SHUTDOWN:
-    case PLY_MODE_UPDATES:
-      filename = NULL;
-      break;
-    default:
-      ply_error ("Unhandled case in %s line %d\n", __FILE__, __LINE__);
-      abort ();
-      break;
-    }
-
-  ply_trace ("returning spool file '%s'", filename);
-  return filename;
-}
-
-static void
-spool_error (state_t *state)
-{
-  const char *logfile;
-  const char *logspool;
-
-  ply_trace ("spooling error for viewer");
-
-  logfile = get_log_file_for_mode (state->mode);
-  logspool = get_log_spool_file_for_mode (state->mode);
-
-  if (logfile != NULL && logspool != NULL)
-    {
-      unlink (logspool);
-
-      ply_create_file_link (logfile, logspool);
-    }
-}
-
 static void
 prepare_logging (state_t *state)
 {
   const char *logfile;
 
   if (!state->system_initialized)
     {
       ply_trace ("not preparing logging yet, system not initialized");
       return;
     }
 
   if (state->session == NULL)
     {
       ply_trace ("not preparing logging, no session");
       return;
     }
 
   logfile = get_log_file_for_mode (state->mode);
   if (logfile != NULL)
     {
       ply_trace ("opening log '%s'", logfile);
       ply_terminal_session_open_log (state->session, logfile);
-
-      if (state->number_of_errors > 0)
-        spool_error (state);
     }
 }
 
 static void
 on_system_initialized (state_t *state)
 {
   ply_trace ("system now initialized, opening log");
   state->system_initialized = true;
 
   prepare_logging (state);
 }
 
 static void
 on_error (state_t *state)
 {
   ply_trace ("encountered error during boot up");
-
-  if (state->system_initialized && state->number_of_errors == 0)
-    spool_error (state);
-  else
-    ply_trace ("not spooling because number of errors %d", state->number_of_errors);
-
-  state->number_of_errors++;
 }
 
 static bool
 plymouth_should_ignore_show_splash_calls (state_t *state)
 {
   ply_trace ("checking if plymouth should be running");
   if (state->mode != PLY_MODE_BOOT || command_line_has_argument (state->kernel_command_line, "plymouth.force-splash"))
       return false;
 
   if (command_line_has_argument (state->kernel_command_line, "plymouth.ignore-show-splash"))
       return true;
 
   return false;
 }
 
 static bool
 sh_is_init (state_t *state)
 {
   const char *init_string;
   size_t length;
 
   init_string = command_line_get_string_after_prefix (state->kernel_command_line, "init=");
 
   if (init_string)
     {
       length = strcspn (init_string, " \n");
       if (length > 2 && ply_string_has_prefix (init_string + length - 2, "sh"))
         return true;
     }
 
-- 
2.25.1