Commit fa39259e authored by jan.koester's avatar jan.koester
Browse files

Move setenv to PID 1 (main.cpp) for service inheritance

parent e1bf01c6
Loading
Loading
Loading
Loading
+7 −0
Changes for src/main.cpp: 7 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -4,6 +4,7 @@
#include <cstring>
#include <csignal>
#include <unistd.h>
#include <cstdlib>

static syslite::Init *g_init = nullptr;

@@ -33,6 +34,12 @@ int main(int argc, char **argv) {
        }
    }

    // Set system-wide environment (inherited by all children: getty, services, ...)
    setenv("PATH", "/usr/local/sbin:/usr/local/musl/bin:/usr/local/bin:/bin:/sbin", 1);
    setenv("LD_LIBRARY_PATH", "/usr/local/musl/lib:/usr/local/lib", 1);
    setenv("ENV", "/etc/profile", 1);
    setenv("TERM", "linux", 0);

    syslite::Init init;
    g_init = &init;

+0 −6
Changes for src/tty.cpp: 0 added lines, 6 removed lines.
Original line number Diff line number Diff line
@@ -70,12 +70,6 @@ namespace syslite {
            signal(SIGINT, SIG_DFL);
            signal(SIGHUP, SIG_DFL);

            // Set PATH so login shells have the full system path
            setenv("PATH", "/usr/local/sbin:/usr/local/musl/bin:/usr/local/bin:/bin:/sbin", 1);
            setenv("LD_LIBRARY_PATH", "/usr/local/musl/lib:/usr/local/lib", 1);
            setenv("ENV", "/etc/profile", 1);
            setenv("TERM", "linux", 0);

            // Parse command into argv
            std::vector<std::string> args;
            std::istringstream iss(tty.command);