X-Git-Url: https://uglyman.kremlin.cc/gitweb/gitweb.cgi?p=systembsd.git;a=blobdiff_plain;f=src%2Fmain.c;h=3bc43447469fb9dc80caaf56caaee51241931094;hp=fc50a2445cdd8bc547163381d62f59c52ea7f6ab;hb=7f0a0212d65905aea6c875b6250e0a87dc9820d8;hpb=e3382563a24b6a3c162763942edefee462b2d752 diff --git a/src/main.c b/src/main.c index fc50a24..3bc4344 100644 --- a/src/main.c +++ b/src/main.c @@ -14,64 +14,74 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* debugging */ -#define INSTALL 1 -//#define NO_BUILTIN_XML 1 -/* end debugging */ - #include #include #include #include + #include "config.c" + #include "interfaces/hostnamed/hostnamed.c" -//#include "main/h" +#include "interfaces/localed/localed.c" +#include "interfaces/timedated/timedated.c" +#include "interfaces/logind/logind.c" gboolean systemd_utils_init() { -<<<<<<< HEAD - #ifdef INSTALL - if(!config_init()) { - gchar *tmp; - tmp = "/etc/"; //what the hell is /etc/xdg anyway - - g_printf("FAILED to install configs in %s!\n", tmp); - return FALSE; - } - if(!init_xml()) { - gchar **tmp; - tmp = g_get_system_data_dirs(); - - g_printf("FAILED to install xml configs in %s!\n", tmp[0]); - return FALSE; - } - #endif - return TRUE; -======= - #ifdef INSTALL - if(!config_init()) { - g_printf("%s\n", "FAILED to install configs in /etc/!"); - return FALSE; - } - #endif + + if(!config_init()) { + gchar *tmp; + tmp = "/etc/systemd_compat.conf"; + + g_printf("FAILED to open config %s! did you `make install`?\n", tmp); + return FALSE; + } return TRUE; ->>>>>>> master } int main() { - GMainLoop *mloop; - - if(!systemd_utils_init()) { - g_printf("failed to init, are you root?\n"); - return 1; //TODO errno properly. grep for all "return 1;"s, not TODO'ing each one - } + GMainLoop *mloop; + mloop = g_main_loop_new(NULL, TRUE); - hostnamed_init(); + #ifdef COMPILE_HOSTNAMED_BINARY + hostnamed_init(); + #endif + #ifdef COMPILE_LOCALED_BINARY + localed_init(); + #endif + #ifdef COMPILE_TIMEDATED_BINARY + #endif + #ifdef COMPILE_LOGIND_BINARY + #endif + + #if !defined(COMPILE_HOSTNAMED_BINARY) && !defined(COMPILE_LOCALED_BINARY) && !defined(COMPILE_TIMEDATED_BINARY) && !defined(COMPILE_LOGIND_BINARY) + + if(!systemd_utils_init()) { + g_printf("failed to init, are you root?\n"); + return 1; /* TODO errno properly. grep for all "return 1;"s, not TODO'ing each one */ + } + + gboolean hostnamed_init_ok, localed_init_ok; + GPid *hostnamed_pid, *localed_pid; + gchar *hostnamed_argv[0], *localed_argv[0]; + GSource *hostnamed_source, *localed_source, *timedated_source, *logind_source; + + hostnamed_argv[0] = "/usr/local/libexec/systemd-hostnamed-handler"; + localed_argv[0] = "/usr/local/libexec/systemd-localed-handler"; - mloop = g_main_loop_new(NULL, TRUE); + hostnamed_init_ok = g_spawn_async(NULL, hostnamed_argv, NULL, G_SPAWN_DEFAULT, NULL, NULL, hostnamed_pid, NULL); + localed_init_ok = g_spawn_async(NULL, localed_argv, NULL, G_SPAWN_DEFAULT, NULL, NULL, localed_pid, NULL); + + hostnamed_source = g_child_watch_source_new(*hostnamed_pid); + localed_source = g_child_watch_source_new(*localed_pid); + + /*g_source_attach(hostnamed_source, NULL); + g_source_attach(localed_source, NULL);*/ + + #endif - g_main_loop_run(mloop); - g_main_loop_unref(mloop); + g_main_loop_run(mloop); + g_main_loop_unref(mloop); - return 0; + return 0; }