]> git.ipfire.org Git - thirdparty/plymouth.git/commitdiff
Drop support for starting a session from within plymouth
authorRay Strode <rstrode@redhat.com>
Wed, 4 Jun 2008 01:15:01 +0000 (21:15 -0400)
committerRay Strode <rstrode@redhat.com>
Wed, 4 Jun 2008 01:15:01 +0000 (21:15 -0400)
We aren't going to be supporting the

       #!/bin/plymouth nash

form anymore, instead we're going to require

       #!/bin/nash
       plymouth --asdaemon

src/main.c

index 785adf1e9485871bb660cf9046151b6fd31638c6..3a22e88618e4cf351770d99677e2714c9f188e03 100644 (file)
@@ -69,19 +69,6 @@ typedef struct
 static ply_boot_splash_t *start_boot_splash (state_t    *state,
                                              const char *module_path);
 
-static void
-on_session_start (state_t *state)
-{
-  ply_trace ("changing to original root fs");
-
-  if (fchdir (state->original_root_dir_fd) < 0)
-    {
-      ply_trace ("Could not change to original root directory "
-                 "to start session: %m");
-      return;
-    }
-}
-
 static void
 on_session_output (state_t    *state,
                    const char *output,
@@ -265,8 +252,7 @@ start_boot_splash (state_t    *state,
 }
 
 static ply_terminal_session_t *
-spawn_session (state_t  *state,
-               char    **argv)
+attach_to_running_session (state_t *state)
 {
   ply_terminal_session_t *session;
   ply_terminal_session_flags_t flags;
@@ -298,34 +284,6 @@ spawn_session (state_t  *state,
           return NULL;
         }
     }
-  else
-    {
-      flags |= PLY_TERMINAL_SESSION_FLAGS_RUN_IN_PARENT;
-      flags |= PLY_TERMINAL_SESSION_FLAGS_LOOK_IN_PATH;
-      flags |= PLY_TERMINAL_SESSION_FLAGS_CHANGE_ROOT_TO_CURRENT_DIRECTORY;
-
-      ply_trace ("opening terminal session for '%s'", argv[0]);
-      session = ply_terminal_session_new ((const char * const *) argv);
-      ply_trace ("attaching terminal session to event loop");
-      ply_terminal_session_attach_to_event_loop (session, state->loop);
-
-      ply_trace ("running '%s'", argv[0]);
-      if (!ply_terminal_session_run (session, flags,
-                                     (ply_terminal_session_begin_handler_t)
-                                     on_session_start,
-                                     (ply_terminal_session_output_handler_t)
-                                     on_session_output,
-                                     (ply_terminal_session_done_handler_t)
-                                     on_session_finished, state))
-        {
-          ply_save_errno ();
-          ply_terminal_session_free (session);
-          ply_buffer_free (state->boot_buffer);
-          state->boot_buffer = NULL;
-          ply_restore_errno ();
-          return NULL;
-        }
-    }
 
   return session;
 }
@@ -655,7 +613,7 @@ main (int    argc,
 
   state.boot_buffer = ply_buffer_new ();
 
-  state.session = spawn_session (&state, argv + 1);
+  state.session = attach_to_running_session (&state);
 
   if (state.session == NULL)
     {