[Initng-svn] r4421 - in initng/trunk: . devtool plugins/critical plugins/daemon plugins/debug_commands plugins/envparser plugins/find plugins/initctl plugins/iparser plugins/netdev plugins/provide plugins/reload plugins/rlparser plugins/service_file plugins/stcmd plugins/suid src tools

svn at initng.thinktux.net svn at initng.thinktux.net
Thu Jun 8 18:32:48 CEST 2006


Author: jimmy
Date: Thu Jun  8 18:32:44 2006
New Revision: 4421

Modified:
   initng/trunk/CMakeLists.txt
   initng/trunk/config.h.cmake
   initng/trunk/devtool/CMakeLists.txt
   initng/trunk/devtool/test_parser.c
   initng/trunk/plugins/critical/initng_critical.c
   initng/trunk/plugins/daemon/initng_daemon.c
   initng/trunk/plugins/debug_commands/initng_debug_commands.c
   initng/trunk/plugins/debug_commands/print_service.c
   initng/trunk/plugins/debug_commands/print_service.h
   initng/trunk/plugins/envparser/CMakeLists.txt
   initng/trunk/plugins/find/CMakeLists.txt
   initng/trunk/plugins/fmon/initng_fmon.c
   initng/trunk/plugins/initctl/initng_initctl.c
   initng/trunk/plugins/iparser/CMakeLists.txt
   initng/trunk/plugins/netdev/initng_netdev.c
   initng/trunk/plugins/provide/initng_provide.c
   initng/trunk/plugins/reload/initng_reload.c
   initng/trunk/plugins/rlparser/CMakeLists.txt
   initng/trunk/plugins/service_file/initng_service_file.c
   initng/trunk/plugins/stcmd/initng_stcmd.c
   initng/trunk/plugins/suid/initng_suid.c
   initng/trunk/src/CMakeLists.txt
   initng/trunk/src/initng_active_db.c
   initng/trunk/src/initng_active_db.h
   initng/trunk/src/initng_common.c
   initng/trunk/src/initng_common.h
   initng/trunk/src/initng_depend.c
   initng/trunk/src/initng_env_variable.c
   initng/trunk/src/initng_env_variable.h
   initng/trunk/src/initng_fd.c
   initng/trunk/src/initng_global.c
   initng/trunk/src/initng_global.h
   initng/trunk/src/initng_handler.c
   initng/trunk/src/initng_kill_handler.c
   initng/trunk/src/initng_load_module.c
   initng/trunk/src/initng_load_module.h
   initng/trunk/src/initng_main.h
   initng/trunk/src/initng_plugin.h
   initng/trunk/src/initng_plugin_callers.c
   initng/trunk/src/initng_plugin_callers.h
   initng/trunk/src/initng_process_db.h
   initng/trunk/src/initng_service_data_types.c
   initng/trunk/src/main.c
   initng/trunk/tools/CMakeLists.txt
   initng/trunk/tools/itool.c

Log:
Made "initng_service_cache.[ch]" optional in cmake option.


Modified: initng/trunk/CMakeLists.txt
==============================================================================
--- initng/trunk/CMakeLists.txt	(original)
+++ initng/trunk/CMakeLists.txt	Thu Jun  8 18:32:44 2006
@@ -43,6 +43,7 @@
 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
 INSTALL_FILES(${INCLUDE_INSTALL_DIR}/initng FILES initng-paths.h)
 
+OPTION(SERVICE_CACHE "Include functions for separate data with temporary data inside of initng core, needed by the i_parser and friends" ON)
 OPTION(BUILD_ALSO "Build also plugin" ON)
 OPTION(BUILD_BASH_LAUNCHER "Build bash_launcher plugin" ON)
 OPTION(BUILD_SERVICE_FILE "Build service_file plugin" ON)
@@ -55,14 +56,11 @@
 OPTION(BUILD_DAEMON_CLEAN "Build daemon_clean plugin" OFF)
 OPTION(BUILD_DBUS_EVENT "Build dbus_event plugin" OFF)
 OPTION(BUILD_DEBUG_COMMANDS "Build debug_commands plugin" ON)
-OPTION(BUILD_ENVPARSER "Build envparser plugin" ON)
-OPTION(BUILD_FIND "Build find plugin" ON)
 OPTION(BUILD_FMON "Build fmon plugin" ON)
 OPTION(BUILD_FSTAT "Build fstat plugin" ON)
 OPTION(BUILD_HISTORY "Build history plugin" ON)
 OPTION(BUILD_INITCTL "Build initctl plugin" ON)
 OPTION(BUILD_INTERACTIVE "Build interactive plugin" ON)
-OPTION(BUILD_IPARSER "Build iparser plugin" ON)
 OPTION(BUILD_LAST "Build last plugin" ON)
 OPTION(BUILD_LIMIT "Build limitplugin" ON)
 OPTION(BUILD_LOGFILE "Build logfile plugin" ON)
@@ -77,7 +75,6 @@
 OPTION(BUILD_PROVIDE "Build provide plugin" ON)
 OPTION(BUILD_RELOAD "Build reload plugin" ON)
 OPTION(BUILD_RENICE "Build renice plugin" ON)
-OPTION(BUILD_RLPARSER "Build rlparser plugin" ON)
 OPTION(BUILD_SELINUX "Build selinux plugin" OFF)
 OPTION(BUILD_SIMPLE_LAUNCHER "Build simple_launcher plugin" ON)
 OPTION(BUILD_STCMD "Build stcmd plugin" ON)
@@ -88,6 +85,15 @@
 OPTION(BUILD_SYSREQ "Build sysreq plugin" ON)
 OPTION(BUILD_UNNEEDED "Build unneeded plugin" ON)
 OPTION(BUILD_USPLASH "Build initng with usplash support" OFF)
+
+# NEEDS SERVICE_CACHE
+IF(SERVICE_CACHE)
+	OPTION(BUILD_IPARSER "Build iparser plugin" ON)
+	OPTION(BUILD_ENVPARSER "Build envparser plugin" ON)
+	OPTION(BUILD_FIND "Build find plugin" ON)
+	OPTION(BUILD_RLPARSER "Build rlparser plugin" ON)
+ENDIF(SERVICE_CACHE)
+
 OPTION(INSTALL_AS_INIT "Install initng as complete replacement for SysVInit" OFF)
 OPTION(DEBUG "Build with developer tools, turns on additional warnings and Werror" ON)
 OPTION(CHECK_RO "Test if the / is mounted read-only before reboot/halt" ON)

Modified: initng/trunk/config.h.cmake
==============================================================================
--- initng/trunk/config.h.cmake	(original)
+++ initng/trunk/config.h.cmake	Thu Jun  8 18:32:44 2006
@@ -1,4 +1,5 @@
 #cmakedefine VERSION "${VERSION}"
 #cmakedefine VERSION_NAME "${VERSION_NAME}"
 #cmakedefine CHECK_RO
-#cmakedefine FORCE_NOCOLOR
\ No newline at end of file
+#cmakedefine FORCE_NOCOLOR
+#cmakedefine SERVICE_CACHE
\ No newline at end of file

Modified: initng/trunk/devtool/CMakeLists.txt
==============================================================================
--- initng/trunk/devtool/CMakeLists.txt	(original)
+++ initng/trunk/devtool/CMakeLists.txt	Thu Jun  8 18:32:44 2006
@@ -1,4 +1,6 @@
 INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/src ${CMAKE_BINARY_DIR}  )
 
+IF(SERVICE_CACHE)
 ADD_EXECUTABLE(test_parser test_parser.c)
 TARGET_LINK_LIBRARIES(test_parser initng)
+ENDIF(SERVICE_CACHE)
\ No newline at end of file

Modified: initng/trunk/devtool/test_parser.c
==============================================================================
--- initng/trunk/devtool/test_parser.c	(original)
+++ initng/trunk/devtool/test_parser.c	Thu Jun  8 18:32:44 2006
@@ -233,7 +233,7 @@
 
 #ifdef PRINT_ALL
 	{
-		char *all = service_db_print_all();
+		char *all = service_db_print_all(NULL);
 
 		printf("%s\n", all);
 	}
@@ -331,7 +331,7 @@
 
 	if (print_each == 1)
 	{
-		char *string = service_db_print(service);
+		char *string = service_db_print_all(service->name);
 
 		printf("%s\n", string);
 		free(string);

Modified: initng/trunk/plugins/critical/initng_critical.c
==============================================================================
--- initng/trunk/plugins/critical/initng_critical.c	(original)
+++ initng/trunk/plugins/critical/initng_critical.c	Thu Jun  8 18:32:44 2006
@@ -29,7 +29,9 @@
 #include <initng_plugin_hook.h>
 #include <initng_common.h>
 #include <initng_toolbox.h>
+#ifdef SERVICE_CACHE
 #include <initng_service_cache.h>
+#endif
 #include <initng_main.h>
 #include <initng_active_state.h>
 #include <initng_static_states.h>
@@ -58,12 +60,14 @@
 	initng_main_su_login();
 	/* now try to reload service from disk and run it again */
 
+#ifdef SERVICE_CACHE
 	if (service->from_service)
 	{
 		list_del(&(service->from_service->list));
 		initng_service_cache_free(service->from_service);
 		service->from_service = NULL;
 	}
+#endif
 
 	/* Reset the service state */
 	initng_common_mark_service(service, &NEW);

Modified: initng/trunk/plugins/daemon/initng_daemon.c
==============================================================================
--- initng/trunk/plugins/daemon/initng_daemon.c	(original)
+++ initng/trunk/plugins/daemon/initng_daemon.c	Thu Jun  8 18:32:44 2006
@@ -103,8 +103,9 @@
 static pid_t get_pidfile(active_db_h * s);
 static int check_respawn(active_db_h * service);
 static int try_get_pid(active_db_h * s);
+#ifdef SERVICE_CACHE
 static int check_valid_pidfile_path(service_cache_h * s);
-
+#endif
 /*
  * ############################################################################
  * #                         STYPE HANDLERS FUNCTION DEFINES                  #
@@ -455,9 +456,11 @@
 	initng_active_state_register(&DAEMON_UP_CHECK_FAILED);
 	initng_active_state_register(&DAEMON_RESPAWN_RATE_EXCEEDED);
 
+#ifdef SERVICE_CACHE
 	initng_plugin_hook_register(&g.ADDITIONAL_PARSE, 80,
 								&check_valid_pidfile_path);
 
+#endif
 	/* return happily */
 	return (TRUE);
 }
@@ -510,9 +513,11 @@
 	/* Last, delete the servicetype */
 	initng_service_type_unregister(&TYPE_DAEMON);
 
+#ifdef SERVICE_CACHE
+
 	initng_plugin_hook_unregister(&g.ADDITIONAL_PARSE,
 								  &check_valid_pidfile_path);
-
+#endif
 }
 
 /*
@@ -1230,6 +1235,7 @@
 	}
 }
 
+#ifdef SERVICE_CACHE
 /* Chack pid_file path is reasonable - mainly to protect against
    us deleting something we shouldn't due to a missing semicolon
    (see bug #414). [FIXME] Note that for some reason, this can't stop
@@ -1250,6 +1256,7 @@
 	}
 	return TRUE;
 }
+#endif
 
 /*
  * ############################################################################

Modified: initng/trunk/plugins/debug_commands/initng_debug_commands.c
==============================================================================
--- initng/trunk/plugins/debug_commands/initng_debug_commands.c	(original)
+++ initng/trunk/plugins/debug_commands/initng_debug_commands.c	Thu Jun  8 18:32:44 2006
@@ -36,7 +36,9 @@
 
 #include <initng_global.h>
 #include <initng_process_db.h>
+#ifdef SERVICE_CACHE
 #include <initng_service_cache.h>
+#endif
 #include <initng_handler.h>
 #include <initng_active_db.h>
 #include <initng_toolbox.h>
@@ -69,11 +71,14 @@
 	"Quits initng"
 };
 
+
+#ifdef SERVICE_CACHE
 s_command PRINT_SERVICE_DB = { 'P', "print_service_db", STRING_COMMAND, ADVANCHED_COMMAND,
 	USES_OPT,
 	{(void *) &service_db_print_all},
 	"Print service_db"
 };
+#endif
 
 s_command PRINT_ACTIVE_DB = { 'p', "print_active_db", STRING_COMMAND, ADVANCHED_COMMAND, USES_OPT,
 	{(void *) &active_db_print_all},
@@ -227,7 +232,9 @@
 	{
 		initng_command_register(&QUIT_INITNG);
 	}
+#ifdef SERVICE_CACHE
 	initng_command_register(&PRINT_SERVICE_DB);
+#endif
 	initng_command_register(&PRINT_ACTIVE_DB);
 
 #ifdef DEBUG
@@ -251,7 +258,9 @@
 	{
 		initng_command_unregister(&QUIT_INITNG);
 	}
+#ifdef SERVICE_CACHE
 	initng_command_unregister(&PRINT_SERVICE_DB);
+#endif
 	initng_command_unregister(&PRINT_ACTIVE_DB);
 #ifdef DEBUG
 	initng_command_unregister(&TOGGLE_VERBOSE);

Modified: initng/trunk/plugins/debug_commands/print_service.c
==============================================================================
--- initng/trunk/plugins/debug_commands/print_service.c	(original)
+++ initng/trunk/plugins/debug_commands/print_service.c	Thu Jun  8 18:32:44 2006
@@ -40,29 +40,14 @@
 
 #define IS_PRINTABLE(x) (x >= 32 || x == '\n' || x == '\t' || x == '\r')
 
+#ifdef SERVICE_CACHE
 static void service_db_print_u(service_cache_h * s, char **string);
+#endif
 static void active_db_print_u(active_db_h * s, char **string);
 static void print_string_value(char *string, char **to);
 
 /* P R I N T   S E R V I C E */
 
-/* some stdout */
-char *service_db_print(service_cache_h * s)
-{
-	char *string = NULL;
-
-	service_db_print_u(s, &string);
-	return (string);
-}
-
-char *active_db_print(active_db_h * s)
-{
-	char *string = NULL;
-
-	active_db_print_u(s, &string);
-	return (string);
-}
-
 /* there may be unprintable characters in string - should escape them when printing */
 static void print_string_value(char *string, char **to)
 {
@@ -261,6 +246,7 @@
 	struct timeval now;
 
 	mprintf(string, "\n %s  \"%s", s->type->name, s->name);
+#ifdef SERVICE_CACHE
 	if (s->from_service)
 	{
 		mprintf(string, " :: %s", s->from_service->name);
@@ -269,6 +255,7 @@
 			mprintf(string, " : %s", s->from_service->father_name);
 		}
 	}
+#endif
 
 	if (s->current_state && s->current_state->state_name)
 	{
@@ -305,6 +292,8 @@
 			print_sdata(tmp, string);
 		}
 	}
+	
+#ifdef SERVICE_CACHE
 	if (s->from_service && !list_empty(&s->from_service->data.head.list))
 	{
 		mprintf(string, "\tFILE_CACHE_VARIABLES:\n");
@@ -314,6 +303,7 @@
 			print_sdata(tmp, string);
 		}
 	}
+#endif
 }
 
 /* Walk through every service and print it all */
@@ -333,6 +323,7 @@
 	return (string);
 }
 
+#ifdef SERVICE_CACHE
 /* Walk through every service and print it all */
 char *service_db_print_all(char * matching)
 {
@@ -350,3 +341,4 @@
 
 	return (string);
 }
+#endif

Modified: initng/trunk/plugins/debug_commands/print_service.h
==============================================================================
--- initng/trunk/plugins/debug_commands/print_service.h	(original)
+++ initng/trunk/plugins/debug_commands/print_service.h	Thu Jun  8 18:32:44 2006
@@ -19,10 +19,10 @@
 
 #include <stdio.h>
 
-#include <initng_service_cache.h>
 
-char *service_db_print(service_cache_h * s);
+#ifdef SERVICE_CACHE
+#include <initng_service_cache.h>
 char *service_db_print_all(char * matching);
+#endif
 
-char *active_db_print(active_db_h * s);
 char *active_db_print_all(char * matching);

Modified: initng/trunk/plugins/envparser/CMakeLists.txt
==============================================================================
--- initng/trunk/plugins/envparser/CMakeLists.txt	(original)
+++ initng/trunk/plugins/envparser/CMakeLists.txt	Thu Jun  8 18:32:44 2006
@@ -1,6 +1,9 @@
 INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/src ${CMAKE_BINARY_DIR} )
 
+IF(SERVICE_CACHE)
+
 ADD_LIBRARY(envparser MODULE initng_envparser.c)
 TARGET_LINK_LIBRARIES(envparser initng)
 INSTALL_TARGETS(${LIB_INSTALL_DIR}/initng envparser)
 
+ENDIF(SERVICE_CACHE)

Modified: initng/trunk/plugins/find/CMakeLists.txt
==============================================================================
--- initng/trunk/plugins/find/CMakeLists.txt	(original)
+++ initng/trunk/plugins/find/CMakeLists.txt	Thu Jun  8 18:32:44 2006
@@ -1,8 +1,10 @@
 INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/src ${CMAKE_BINARY_DIR} )
 
+IF(SERVICE_CACHE)
 ADD_LIBRARY(find MODULE initng_find.c)
 TARGET_LINK_LIBRARIES(find initng)
 INSTALL_TARGETS(${LIB_INSTALL_DIR}/initng find)
 
 INSTALL_FILES(${LIB_INSTALL_DIR}/initng service_alias)
 
+ENDIF(SERVICE_CACHE)
\ No newline at end of file

Modified: initng/trunk/plugins/fmon/initng_fmon.c
==============================================================================
--- initng/trunk/plugins/fmon/initng_fmon.c	(original)
+++ initng/trunk/plugins/fmon/initng_fmon.c	Thu Jun  8 18:32:44 2006
@@ -95,7 +95,9 @@
 
 	int len = 0;
 	int i = 0;
+#ifdef SERVICE_CACHE
 	char *tmp;
+#endif
 	char buf[BUF_LEN];
 
 	/* read events */
@@ -154,7 +156,7 @@
 				return;
 			}
 
-
+#ifdef SERVICE_CACHE
 			/* check if there are any data file updated */
 			if (((tmp = strstr(event->name, ".i")) && tmp[2] == '\0')
 				|| strstr(event->name, ".runlevel")
@@ -190,8 +192,8 @@
 					initng_service_cache_free_all();
 				}
 
-
 			}
+#endif
 
 		}
 
@@ -293,7 +295,9 @@
 		return (FALSE);
 	}
 
+#ifdef SERVICE_CACHE
 	mon_dir("/etc/initng");
+#endif
 
 	/* add this hook */
 	initng_plugin_hook_register(&g.FDWATCHERS, 30, &fdh);

Modified: initng/trunk/plugins/initctl/initng_initctl.c
==============================================================================
--- initng/trunk/plugins/initctl/initng_initctl.c	(original)
+++ initng/trunk/plugins/initctl/initng_initctl.c	Thu Jun  8 18:32:44 2006
@@ -35,7 +35,6 @@
 
 #include <initng_global.h>
 #include <initng_process_db.h>
-#include <initng_service_cache.h>
 #include <initng_handler.h>
 #include <initng_main.h>
 #include <initng_active_db.h>
@@ -201,12 +200,14 @@
 			initng_reload();
 			return;
 
+#ifdef SERVICE_CACHE
 			/* reload /etc/inittab */
 		case 'Q':
 		case 'q':
 			D_("init Q, freeing complete service cache\n");
 			initng_service_cache_free_all();
 			return;
+#endif
 
 			/* go singleuser */
 		case 'S':

Modified: initng/trunk/plugins/iparser/CMakeLists.txt
==============================================================================
--- initng/trunk/plugins/iparser/CMakeLists.txt	(original)
+++ initng/trunk/plugins/iparser/CMakeLists.txt	Thu Jun  8 18:32:44 2006
@@ -1,6 +1,8 @@
 INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/src ${CMAKE_BINARY_DIR} )
 
+IF(SERVICE_CACHE)
 ADD_LIBRARY(iparser MODULE initng_i_parser.c)
 TARGET_LINK_LIBRARIES(iparser initng)
 INSTALL_TARGETS(${LIB_INSTALL_DIR}/initng iparser)
 
+ENDIF(SERVICE_CACHE)
\ No newline at end of file

Modified: initng/trunk/plugins/netdev/initng_netdev.c
==============================================================================
--- initng/trunk/plugins/netdev/initng_netdev.c	(original)
+++ initng/trunk/plugins/netdev/initng_netdev.c	Thu Jun  8 18:32:44 2006
@@ -149,8 +149,10 @@
 	/* set type */
 	netdev->type = &NETDEV;
 
+#ifdef SERVICE_CACHE
 	/* make sure it wont try to parse this entry */
 	netdev->from_service = &NO_CACHE;
+#endif
 
 	/* register it */
 	if (!initng_active_db_register(netdev))

Modified: initng/trunk/plugins/provide/initng_provide.c
==============================================================================
--- initng/trunk/plugins/provide/initng_provide.c	(original)
+++ initng/trunk/plugins/provide/initng_provide.c	Thu Jun  8 18:32:44 2006
@@ -122,8 +122,10 @@
 		/* set type */
 		vserv->type = &PROVIDED;
 
+#ifdef SERVICE_CACHE
 		/* make sure it wont try to parse this entry */
 		vserv->from_service = &NO_CACHE;
+#endif
 
 		/* register it */
 		if (!initng_active_db_register(vserv))

Modified: initng/trunk/plugins/reload/initng_reload.c
==============================================================================
--- initng/trunk/plugins/reload/initng_reload.c	(original)
+++ initng/trunk/plugins/reload/initng_reload.c	Thu Jun  8 18:32:44 2006
@@ -52,8 +52,6 @@
 static void cmd_fast_reload(char *arg);
 
 const char *module_needs[] = {
-	"rlparser",
-	"iparser",
 	"service",
 	"daemon",
 	"runlevel",

Modified: initng/trunk/plugins/rlparser/CMakeLists.txt
==============================================================================
--- initng/trunk/plugins/rlparser/CMakeLists.txt	(original)
+++ initng/trunk/plugins/rlparser/CMakeLists.txt	Thu Jun  8 18:32:44 2006
@@ -1,6 +1,7 @@
 INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/src ${CMAKE_BINARY_DIR} )
 
+IF(SERVICE_CACHE)
 ADD_LIBRARY(rlparser MODULE initng_rl_parser.c)
 TARGET_LINK_LIBRARIES(rlparser initng)
 INSTALL_TARGETS(${LIB_INSTALL_DIR}/initng rlparser)
-
+ENDIF(SERVICE_CACHE)

Modified: initng/trunk/plugins/service_file/initng_service_file.c
==============================================================================
--- initng/trunk/plugins/service_file/initng_service_file.c	(original)
+++ initng/trunk/plugins/service_file/initng_service_file.c	Thu Jun  8 18:32:44 2006
@@ -37,7 +37,6 @@
 #include <initng_active_state.h>
 #include <initng_active_db.h>
 #include <initng_process_db.h>
-#include <initng_service_cache.h>
 #include <initng_handler.h>
 #include <initng_active_db.h>
 #include <initng_toolbox.h>
@@ -52,6 +51,10 @@
 #include <initng_common.h>
 #include <initng_string_tools.h>
 
+#ifdef SERVICE_CACHE
+#include <initng_service_cache.h>
+#endif
+
 #include <initng-paths.h>
 
 #include "initng_service_file.h"
@@ -224,7 +227,9 @@
 
 		/* set type */
 		new_active->current_state = &PARSING;
+#ifdef SERVICE_CACHE
 		new_active->from_service = &NO_CACHE;
+#endif
 
 		/* register it */
 		if (!initng_active_db_register(new_active))
@@ -770,7 +775,9 @@
 
 	/* set type */
 	new_active->current_state = &PARSING;
+#ifdef SERVICE_CACHE
 	new_active->from_service = &NO_CACHE;
+#endif
 	new_active->type = &unset;
 
 	/* register it */

Modified: initng/trunk/plugins/stcmd/initng_stcmd.c
==============================================================================
--- initng/trunk/plugins/stcmd/initng_stcmd.c	(original)
+++ initng/trunk/plugins/stcmd/initng_stcmd.c	Thu Jun  8 18:32:44 2006
@@ -36,7 +36,7 @@
 
 #include <initng_global.h>
 #include <initng_process_db.h>
-#include <initng_service_cache.h>
+//#include <initng_service_cache.h>
 #include <initng_handler.h>
 #include <initng_active_db.h>
 #include <initng_toolbox.h>
@@ -58,7 +58,6 @@
 static int cmd_free_service(char *arg);
 static int cmd_restart(char *arg);
 static char *cmd_print_uptime(char *arg);
-static int cmd_reload(char *arg);
 static int cmd_initng_halt(char *arg);
 static int cmd_initng_poweroff(char *arg);
 static int cmd_initng_reboot(char *arg);
@@ -67,7 +66,11 @@
 
 /* static int cmd_unload_module(char *arg); */
 static int cmd_percent_done(char *arg);
+#ifdef SERVICE_CACHE
 static char *cmd_get_father_of(char *arg);
+static int cmd_reload(char *arg);
+#endif
+
 static char *cmd_get_depends_on(char *arg);
 static char *cmd_get_depends_on_deep(char *arg);
 static char *cmd_get_depends_off(char *arg);
@@ -97,11 +100,18 @@
 	{(void *) &cmd_print_uptime},
 	"Print uptime"
 };
+
+#ifdef SERVICE_CACHE
 s_command SERVICE_RELOAD = { 'R', "reload_service", TRUE_OR_FALSE_COMMAND, STANDARD_COMMAND,
 	USES_OPT,
 	{(void *) &cmd_reload},
 	"Reload service data from disk ( reparse /etc/initng )"
 };
+s_command GET_FATHER_OF = { 'f', "father", STRING_COMMAND, ADVANCHED_COMMAND, REQUIRES_OPT,
+	{(void *) &cmd_get_father_of},
+	"Print father to"
+};
+#endif
 
 s_command POWEROFF_INITNG = { '0', "poweroff", TRUE_OR_FALSE_COMMAND, STANDARD_COMMAND, NO_OPT,
 	{(void *) &cmd_initng_poweroff},
@@ -140,10 +150,6 @@
 	"Prints percent of system up"
 };
 
-s_command GET_FATHER_OF = { 'f', "father", STRING_COMMAND, ADVANCHED_COMMAND, REQUIRES_OPT,
-	{(void *) &cmd_get_father_of},
-	"Print father to"
-};
 
 s_command DEPENDS_ON = { 'a', "service_dep_on", STRING_COMMAND, ADVANCHED_COMMAND, REQUIRES_OPT,
 	{(void *) &cmd_get_depends_on},
@@ -239,8 +245,10 @@
 		}
 	}
 
+#ifdef SERVICE_CACHE
 	/* also flush file cache */
 	cmd_reload(arg);
+#endif
 	return (ret);
 }
 
@@ -264,11 +272,13 @@
 
 	D_("removing service data for %s, to make sure .ii file is reloaded!\n",
 	   arg);
+#ifdef SERVICE_CACHE
 	if (apt->from_service)
 	{
 		list_del(&apt->from_service->list);
 		initng_service_cache_free(apt->from_service);
 	}
+#endif
 
 	D_("Restarting service %s\n", apt->name);
 	return (initng_handler_restart_service(apt));
@@ -306,7 +316,7 @@
 	}
 }
 
-
+#ifdef SERVICE_CACHE
 static int cmd_reload(char *arg)
 {
 	service_cache_h *s;
@@ -331,6 +341,7 @@
 	initng_service_cache_free(s);
 	return (TRUE);
 }
+#endif
 
 static int cmd_initng_reboot(char *arg)
 {
@@ -403,8 +414,10 @@
 	if (initng_load_module(arg) == NULL)
 		return (FALSE);
 
+#ifdef SERVICE_CACHE
 	/* clear the service cache, so new variables will be read next time */
 	initng_service_cache_free_all();
+#endif
 
 	return (TRUE);
 }
@@ -428,7 +441,7 @@
 }
 
 
-
+#ifdef SERVICE_CACHE
 static char *cmd_get_father_of(char *arg)
 {
 	char *string = NULL;
@@ -448,7 +461,7 @@
 
 	return (string);
 }
-
+#endif
 
 static char *cmd_get_depends_on(char *arg)
 {
@@ -639,7 +652,10 @@
 	initng_command_register(&FREE_SERVICE);
 	initng_command_register(&RESTART_SERVICE);
 	initng_command_register(&PRINT_UPTIME);
+#ifdef SERVICE_CACHE
+	initng_command_register(&GET_FATHER_OF);
 	initng_command_register(&SERVICE_RELOAD);
+#endif 
 	if (g.i_am == I_AM_INIT)
 	{
 		initng_command_register(&REBOOT_INITNG);
@@ -650,7 +666,6 @@
 	initng_command_register(&LOAD_MODULE);
 	/* initng_command_register(&UNLOAD_MODULE); */
 	initng_command_register(&PERCENT_DONE);
-	initng_command_register(&GET_FATHER_OF);
 	initng_command_register(&DEPENDS_ON);
 	initng_command_register(&DEPENDS_ON_DEEP);
 	initng_command_register(&DEPENDS_OFF);
@@ -672,7 +687,10 @@
 	initng_command_unregister(&FREE_SERVICE);
 	initng_command_unregister(&RESTART_SERVICE);
 	initng_command_unregister(&PRINT_UPTIME);
+#ifdef SERVICE_CACHE
 	initng_command_unregister(&SERVICE_RELOAD);
+	initng_command_unregister(&GET_FATHER_OF);
+#endif
 	if (g.i_am == I_AM_INIT)
 	{
 		initng_command_unregister(&REBOOT_INITNG);
@@ -683,7 +701,6 @@
 	initng_command_unregister(&LOAD_MODULE);
 	/* initng_command_unregister(&UNLOAD_MODULE); */
 	initng_command_unregister(&PERCENT_DONE);
-	initng_command_unregister(&GET_FATHER_OF);
 	initng_command_unregister(&DEPENDS_ON);
 	initng_command_unregister(&DEPENDS_ON_DEEP);
 	initng_command_unregister(&DEPENDS_OFF);

Modified: initng/trunk/plugins/suid/initng_suid.c
==============================================================================
--- initng/trunk/plugins/suid/initng_suid.c	(original)
+++ initng/trunk/plugins/suid/initng_suid.c	Thu Jun  8 18:32:44 2006
@@ -41,13 +41,13 @@
 void adjust_env(active_db_h * service, const char *vn, const char *vv)
 {
 	/* add to service cache */
-	if (is_var(&ENV, vn, service->from_service))
+	if (is_var(&ENV, vn, service))
 	{
 		return;								/* Assume they were set by .i file, don't override */
 	}
 	else
 	{
-		set_string_var(&ENV, i_strdup(vn), service->from_service,
+		set_string_var(&ENV, i_strdup(vn), service,
 					   i_strdup(vv));
 	}
 }

Modified: initng/trunk/src/CMakeLists.txt
==============================================================================
--- initng/trunk/src/CMakeLists.txt	(original)
+++ initng/trunk/src/CMakeLists.txt	Thu Jun  8 18:32:44 2006
@@ -1,5 +1,7 @@
 INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} )
 
+IF(SERVICE_CACHE)
+
 SET(initng_lib_srcs
 	initng_active_db.c
 	initng_active_state.c
@@ -20,7 +22,40 @@
 	initng_plugin_callers.c
 	initng_plugin_hook.c
 	initng_process_db.c
+	initng_service_data_types.c
+	initng_service_types.c
 	initng_service_cache.c
+	initng_signal.c
+	initng_static_data_id.c
+	initng_static_states.c
+	initng_static_service_types.c
+	initng_string_tools.c
+	initng_struct_data.c
+	initng_toolbox.c
+)
+
+ELSE(SERVICE_CACHE)
+
+SET(initng_lib_srcs
+	initng_active_db.c
+	initng_active_state.c
+	initng_common.c
+	initng_control_command.c
+	initng_depend.c
+	initng_error.c
+	initng_execute.c
+	initng_env_variable.c
+	initng_fd.c
+	initng_fork.c
+	initng_handler.c
+	initng_interrupt.c
+	initng_kill_handler.c
+	initng_load_module.c
+	initng_main.c
+	initng_open_read_close.c
+	initng_plugin_callers.c
+	initng_plugin_hook.c
+	initng_process_db.c
 	initng_service_data_types.c
 	initng_service_types.c
 	initng_signal.c
@@ -32,6 +67,10 @@
 	initng_toolbox.c
 )
 
+
+ENDIF(SERVICE_CACHE)
+
+
 SET(initng_bin_srcs
 	main.c
 	initng_global.c
@@ -49,6 +88,9 @@
 
 ########### install files ###############
 
+
+IF(SERVICE_CACHE)
+
 SET(initng_headers
 	initng_global.h  
 	initng.h
@@ -88,5 +130,46 @@
 	initng_toolbox.h 
 	initng_msg.h
 )
+ELSE(SERVICE_CACHE)
+SET(initng_headers
+	initng_global.h  
+	initng.h
+	initng_module.h
+	initng_plugin.h
+	initng_system_states.h
+	initng_list.h
+	initng_active_db.h
+	initng_active_state.h
+	initng_common.h
+	initng_control_command.h
+	initng_depend.h
+	initng_error.h
+	initng_execute.h
+	initng_env_variable.h
+	initng_fd.h
+	initng_fork.h
+	initng_handler.h
+	initng_interrupt.h
+	initng_is.h
+	initng_kill_handler.h
+	initng_load_module.h 
+	initng_main.h
+	initng_open_read_close.h
+	initng_plugin_callers.h
+	initng_plugin_hook.h
+	initng_process_db.h
+	initng_service_data_types.h
+	initng_service_types.h
+	initng_signal.h
+	initng_static_data_id.h
+	initng_static_states.h
+	initng_static_service_types.h
+	initng_string_tools.h
+	initng_struct_data.h
+	initng_toolbox.h 
+	initng_msg.h
+)
+
+ENDIF(SERVICE_CACHE)
 
 INSTALL_FILES(${INCLUDE_INSTALL_DIR}/initng  FILES ${initng_headers})

Modified: initng/trunk/src/initng_active_db.c
==============================================================================
--- initng/trunk/src/initng_active_db.c	(original)
+++ initng/trunk/src/initng_active_db.c	Thu Jun  8 18:32:44 2006
@@ -32,7 +32,6 @@
 #include "initng_global.h"
 #include "initng_active_db.h"
 #include "initng_process_db.h"
-#include "initng_service_cache.h"
 #include "initng_toolbox.h"
 #include "initng_common.h"
 #include "initng_static_data_id.h"
@@ -100,6 +99,7 @@
 	}
 }
 
+#ifdef SERVICE_CACHE
 /*
  * This is called before dynamic data fetchers goes resursive.
  * and give us a chanse to try to set head->res if possible
@@ -132,6 +132,7 @@
 	service->from_service = &NO_CACHE;
 	return (FALSE);
 }
+#endif
 
 /*
  * This will search and find the best possible.
@@ -162,6 +163,7 @@
 	return (NULL);
 }
 
+#ifdef SERVICE_CACHE
 /* return index of service in active data structure or -1 if not found */
 active_db_h *initng_active_db_find_by_service_h(service_cache_h * service)
 {
@@ -182,6 +184,7 @@
 
 	return NULL;
 }
+#endif
 
 /* returns pointer to active_h process belongs to, and sets process_type */
 active_db_h *initng_active_db_find_by_pid(pid_t pid)
@@ -258,8 +261,12 @@
 		return (NULL);
 	}
 
+#ifdef SERVICE_CACHE
 	/* initiate the data list, little special here sense data list relays on service->from_service */
 	DATA_HEAD_INIT_REQUEST(&new_active->data, NULL, &reload_service_cache);
+#else
+	DATA_HEAD_INIT_REQUEST(&new_active->data, NULL, NULL);
+#endif
 
 	/* get the time, and copy that time to all time entries */
 	gettimeofday(&new_active->time_current_state, NULL);
@@ -270,7 +277,6 @@
 
 	/* mark this service as stopped, because it is not yet starting, or running */
 	new_active->current_state = &NEW;
-	new_active->from_service = NULL;
 
 	/* reset alarm */
 	new_active->alarm = 0;
@@ -305,6 +311,7 @@
 	/* remove every data entry */
 	remove_all(pf);
 
+#ifdef SERVICE_CACHE
 	/* remove file cache of entry if present, so we got a fresh read from file when this service is restarted */
 	if (pf->from_service)
 	{
@@ -313,6 +320,7 @@
 		/* free entry */
 		initng_service_cache_free(pf->from_service);
 	}
+#endif
 
 	/* free service name */
 	if (pf->name)
@@ -354,7 +362,7 @@
 	}
 }
 
-
+#ifdef SERVICE_CACHE
 /* update all service_h pointers in whole active_db */
 void initng_active_db_change_service_h(service_cache_h * from,
 									   service_cache_h * to)
@@ -381,6 +389,7 @@
 		}
 	}
 }
+#endif
 
 /* active_db_count counts a type, if null, count all */
 int initng_active_db_count(a_state_h * current_state_to_count)

Modified: initng/trunk/src/initng_active_db.h
==============================================================================
--- initng/trunk/src/initng_active_db.h	(original)
+++ initng/trunk/src/initng_active_db.h	Thu Jun  8 18:32:44 2006
@@ -25,7 +25,9 @@
 
 #include <sys/types.h>
 #include <unistd.h>
+#ifdef SERVICE_CACHE
 #include "initng_service_cache.h"
+#endif
 
 #include "initng_struct_data.h"
 #include "initng_list.h"
@@ -77,8 +79,10 @@
 	/* list of system processes that are connected to this service */
 	process_h processes;
 
+#ifdef SERVICE_CACHE
 	/* a pointer to the entry in service_cache_db that matches our service */
 	service_cache_h *from_service;
+#endif
 
 	/*
 	 * list of data
@@ -115,11 +119,16 @@
 active_db_h *initng_active_db_find_by_name(const char *service);
 active_db_h *initng_active_db_find_in_name(const char *service);
 active_db_h *initng_active_db_find_by_pid(pid_t pid);
-active_db_h *initng_active_db_find_by_service_h(service_cache_h * service);
 
-/* mangling */
+
+/* service cache calls */
+#ifdef SERVICE_CACHE
+active_db_h *initng_active_db_find_by_service_h(service_cache_h * service);
 void initng_active_db_change_service_h(service_cache_h * from,
 									   service_cache_h * to);
+#endif
+
+/* mangling */
 void initng_active_db_compensate_time(time_t skew);
 
 /* reload service cache if not set */

Modified: initng/trunk/src/initng_common.c
==============================================================================
--- initng/trunk/src/initng_common.c	(original)
+++ initng/trunk/src/initng_common.c	Thu Jun  8 18:32:44 2006
@@ -74,6 +74,7 @@
 	return (FALSE);
 }
 
+#ifdef SERVICE_CACHE
 /* creates a active service */
 active_db_h *initng_common_load_to_active(const char *service_name)
 {
@@ -174,9 +175,10 @@
 		initng_active_db_free(a_new);
 	return (NULL);
 }
+#endif
 
 
-
+#ifdef SERVICE_CACHE
 /* this function tries to find the from_service pointer from a service name.
    this actually loads the config from disk, parser by parser */
 int initng_common_get_service(active_db_h * service)
@@ -290,7 +292,9 @@
 	return (TRUE);
 
 }
+#endif
 
+#ifdef SERVICE_CACHE
 service_cache_h *initng_common_parse_service(const char *name)
 {
 	s_call *current, *safe = NULL;
@@ -347,6 +351,7 @@
 	/* return the service */
 	return (service);
 }
+#endif
 
 /*
  * Use this function to change the status of an service, this

Modified: initng/trunk/src/initng_common.h
==============================================================================
--- initng/trunk/src/initng_common.h	(original)
+++ initng/trunk/src/initng_common.h	Thu Jun  8 18:32:44 2006
@@ -23,7 +23,9 @@
 #include "initng.h"
 #include "initng_active_db.h"
 
+#ifdef SERVICE_CACHE
 service_cache_h *initng_common_parse_service(const char *name);
+#endif
 active_db_h *initng_common_load_to_active(const char *new_s_name);
 int initng_common_get_service(active_db_h * service);
 int initng_common_mark_service(active_db_h * service, a_state_h * state);

Modified: initng/trunk/src/initng_depend.c
==============================================================================
--- initng/trunk/src/initng_depend.c	(original)
+++ initng/trunk/src/initng_depend.c	Thu Jun  8 18:32:44 2006
@@ -521,8 +521,6 @@
 	assert(service->name);
 #ifdef DEBUG
 	D_("initng_depend_start_deps(%s);\n", service->name);
-	if (!service->from_service)
-		D_(" ** Data not loaded for %s!\n", service->name);
 #endif
 
 	/* walk all possible entrys, use get_next with NULL becouse we want both REQUIRE and NEED */

Modified: initng/trunk/src/initng_env_variable.c
==============================================================================
--- initng/trunk/src/initng_env_variable.c	(original)
+++ initng/trunk/src/initng_env_variable.c	Thu Jun  8 18:32:44 2006
@@ -593,6 +593,7 @@
 	return (ret);
 }
 
+#ifdef SERVICE_CACHE
 /* this shud be a complete copy of fix_variables, but with a service_cache_h instead of a active_h to use */
 /* WARNING, fix_variables will return from pointer, if no $ was found, so
  * when freeing you must do a if(got!=from) free(got) */
@@ -768,7 +769,7 @@
 	/* return what we got */
 	return (ret);
 }
-
+#endif
 
 
 

Modified: initng/trunk/src/initng_env_variable.h
==============================================================================
--- initng/trunk/src/initng_env_variable.h	(original)
+++ initng/trunk/src/initng_env_variable.h	Thu Jun  8 18:32:44 2006
@@ -28,7 +28,9 @@
 char *fix_redefined_variable(const char *name, const char *oldval,
 							 const char *newdef);
 char *fix_variables(const char *from, active_db_h * s);
+#ifdef SERVICE_CACHE
 char *fix_variables2(const char *from, service_cache_h * s);
+#endif
 char **new_environ(active_db_h * s);
 void free_environ(char **tf);
 int is_same_env_var(char *var1, char *var2);

Modified: initng/trunk/src/initng_fd.c
==============================================================================
--- initng/trunk/src/initng_fd.c	(original)
+++ initng/trunk/src/initng_fd.c	Thu Jun  8 18:32:44 2006
@@ -27,7 +27,7 @@
 #include <fcntl.h>							/* fcntl() */
 #include "initng.h"
 #include "initng_global.h"
-#include "initng_service_cache.h"
+//#include "initng_service_cache.h"
 #include "initng_load_module.h"
 #include "initng_toolbox.h"
 #include "initng_signal.h"

Modified: initng/trunk/src/initng_global.c
==============================================================================
--- initng/trunk/src/initng_global.c	(original)
+++ initng/trunk/src/initng_global.c	Thu Jun  8 18:32:44 2006
@@ -46,8 +46,10 @@
 	assert(argv);
 	assert(env);
 
+#ifdef SERVICE_CACHE
 	/* INITZIATE NO_CACHE_TYPE, to make sure it wont segfault when locking up data */
 	DATA_HEAD_INIT(&NO_CACHE.data);
+#endif
 
 	/* zero the complete s_global */
 	memset(&g, 0, sizeof(s_global));
@@ -95,7 +97,9 @@
 	 */
 	INIT_LIST_HEAD(&g.active_database.list);
 	INIT_LIST_HEAD(&g.active_database.interrupt);
+#ifdef SERVICE_CACHE
 	INIT_LIST_HEAD(&g.service_cache.list);
+#endif
 	INIT_LIST_HEAD(&g.states.list);
 	INIT_LIST_HEAD(&g.ptypes.list);
 	INIT_LIST_HEAD(&g.module_db.list);
@@ -106,7 +110,9 @@
 
 	/* all hooks to hook at */
 	INIT_LIST_HEAD(&g.ASTATUS_CHANGE.list);
+#ifdef SERVICE_CACHE
 	INIT_LIST_HEAD(&g.PARSERS.list);
+#endif
 	INIT_LIST_HEAD(&g.SWATCHERS.list);
 	INIT_LIST_HEAD(&g.FDWATCHERS.list);
 	INIT_LIST_HEAD(&g.BUFFER_WATCHER.list);
@@ -118,7 +124,9 @@
 	INIT_LIST_HEAD(&g.ERR_MSG.list);
 	INIT_LIST_HEAD(&g.LAUNCH.list);
 	INIT_LIST_HEAD(&g.DEP_ON.list);
+#ifdef SERVICE_CACHE
 	INIT_LIST_HEAD(&g.ADDITIONAL_PARSE.list);
+#endif
 	INIT_LIST_HEAD(&g.DUMP_ACTIVE_DB.list);
 	INIT_LIST_HEAD(&g.RELOAD_ACTIVE_DB.list);
 	INIT_LIST_HEAD(&g.IS_CHANGE.list);
@@ -231,7 +239,9 @@
 
 	/* free all databases */
 	initng_active_db_free_all();			/* clean process_db */
+#ifdef SERVICE_CACHE
 	initng_service_cache_free_all();		/* clean service_cache_db */
+#endif
 	initng_service_data_type_unregister_all();	/* clean option_db */
 	initng_command_unregister_all();		/* clean command_db */
 

Modified: initng/trunk/src/initng_global.h
==============================================================================
--- initng/trunk/src/initng_global.h	(original)
+++ initng/trunk/src/initng_global.h	Thu Jun  8 18:32:44 2006
@@ -21,7 +21,9 @@
 #define INITNG_GLOBAL_H
 #include "initng.h"
 #include "initng_active_db.h"
+#ifdef SERVICE_CACHE
 #include "initng_service_cache.h"
+#endif
 #include "initng_module.h"
 #include "initng_plugin.h"
 #include "initng_struct_data.h"
@@ -54,7 +56,9 @@
 typedef struct
 {
 	/* all the databases */
+#ifdef SERVICE_CACHE
 	service_cache_h service_cache;
+#endif
 	active_db_h active_database;
 	a_state_h states;
 	ptype_h ptypes;
@@ -68,8 +72,10 @@
 
 	/* all hooks to hook at */
 	s_call ASTATUS_CHANGE;		/* Calls as soon as the ASTATUS changes */
+#ifdef SERVICE_CACHE
 	s_call PARSERS;				/* Called when a service needs its data */
 	s_call ADDITIONAL_PARSE;	/* Called after a service been parsed, and extra parsing may exist */
+#endif
 	s_call SWATCHERS;			/* Called when system state changes */
 	s_call FDWATCHERS;			/* Called when initng open file descriptors receive data */
 	s_call BUFFER_WATCHER;		/* Called when a service have outputed, and initng have filled its output buffer. */

Modified: initng/trunk/src/initng_handler.c
==============================================================================
--- initng/trunk/src/initng_handler.c	(original)
+++ initng/trunk/src/initng_handler.c	Thu Jun  8 18:32:44 2006
@@ -335,6 +335,7 @@
 		return (to_load);
 	}
 
+#ifdef SERVICE_CACHE
 	/* else try create and load a new service */
 	if ((to_load = initng_common_load_to_active(service)))
 	{
@@ -343,6 +344,7 @@
 
 		return (to_load);
 	}
+#endif
 
 	/* the function calling this function will print out an error */
 	D_("Unable to load active for service %s\n", service);

Modified: initng/trunk/src/initng_kill_handler.c
==============================================================================
--- initng/trunk/src/initng_kill_handler.c	(original)
+++ initng/trunk/src/initng_kill_handler.c	Thu Jun  8 18:32:44 2006
@@ -38,7 +38,7 @@
 #include "initng_main.h"
 #include "initng_common.h"
 
-#include "initng_service_cache.h"
+//#include "initng_service_cache.h"
 #include "initng_active_db.h"
 #include "initng_load_module.h"
 #include "initng_plugin_callers.h"

Modified: initng/trunk/src/initng_load_module.c
==============================================================================
--- initng/trunk/src/initng_load_module.c	(original)
+++ initng/trunk/src/initng_load_module.c	Thu Jun  8 18:32:44 2006
@@ -28,7 +28,7 @@
 #include <errno.h>
 #include "initng.h"
 #include "initng_global.h"
-#include "initng_service_cache.h"
+//#include "initng_service_cache.h"
 #include "initng_load_module.h"
 #include "initng_module.h"
 #include "initng_toolbox.h"

Modified: initng/trunk/src/initng_load_module.h
==============================================================================
--- initng/trunk/src/initng_load_module.h	(original)
+++ initng/trunk/src/initng_load_module.h	Thu Jun  8 18:32:44 2006
@@ -20,7 +20,7 @@
 #ifndef INITNG_LOAD_MODULE
 #define INITNG_LOAD_MODULE
 #include "initng_active_db.h"
-#include "initng_service_cache.h"
+//#include "initng_service_cache.h"
 #include "initng_global.h"
 #include "initng_system_states.h"
 #include "initng_module.h"

Modified: initng/trunk/src/initng_main.h
==============================================================================
--- initng/trunk/src/initng_main.h	(original)
+++ initng/trunk/src/initng_main.h	Thu Jun  8 18:32:44 2006
@@ -21,7 +21,7 @@
 #define INITNG_MAIN_H
 #include <sys/types.h>
 #include <unistd.h>
-#include "initng_service_cache.h"
+//#include "initng_service_cache.h"
 #include "initng_process_db.h"
 #include "initng_global.h"
 void initng_main_exit(int i);

Modified: initng/trunk/src/initng_plugin.h
==============================================================================
--- initng/trunk/src/initng_plugin.h	(original)
+++ initng/trunk/src/initng_plugin.h	Thu Jun  8 18:32:44 2006
@@ -46,7 +46,9 @@
 
 	/* put all hook functions here */
 	int (*status_change) (active_db_h * service);
+#ifdef SERVICE_CACHE
 	service_cache_h *(*parser) (const char *name);
+#endif
 	void (*swatcher) (h_sys_state state);
 	int (*buffer_watcher) (active_db_h * service, process_h * process,
 						   pipe_h * pi, char *buffer_pos);
@@ -63,7 +65,9 @@
 	int (*dep_on_check) (active_db_h * service, active_db_h * check);
 	void (*signal_hook) (int signal);
 	f_module_h *fdh;
+#ifdef SERVICE_CACHE
 	int (*additional_parse) (service_cache_h * service);
+#endif
 	int (*dump_active_db) (void);
 	int (*reload_active_db) (void);
 	int (*start_dep_met) (active_db_h * service);

Modified: initng/trunk/src/initng_plugin_callers.c
==============================================================================
--- initng/trunk/src/initng_plugin_callers.c	(original)
+++ initng/trunk/src/initng_plugin_callers.c	Thu Jun  8 18:32:44 2006
@@ -28,7 +28,7 @@
 #include <time.h>
 #include "initng.h"
 #include "initng_global.h"
-#include "initng_service_cache.h"
+//#include "initng_service_cache.h"
 #include "initng_load_module.h"
 #include "initng_toolbox.h"
 #include "initng_signal.h"

Modified: initng/trunk/src/initng_plugin_callers.h
==============================================================================
--- initng/trunk/src/initng_plugin_callers.h	(original)
+++ initng/trunk/src/initng_plugin_callers.h	Thu Jun  8 18:32:44 2006
@@ -19,7 +19,7 @@
 
 #ifndef INITNG_PLUGIN_CALLERS
 #define INITNG_PLUGIN_CALLERS
-#include "initng_service_cache.h"
+//#include "initng_service_cache.h"
 #include "initng_active_db.h"
 #include "initng_global.h"
 #include "initng_system_states.h"

Modified: initng/trunk/src/initng_process_db.h
==============================================================================
--- initng/trunk/src/initng_process_db.h	(original)
+++ initng/trunk/src/initng_process_db.h	Thu Jun  8 18:32:44 2006
@@ -23,7 +23,7 @@
 #include <sys/types.h>
 #include <unistd.h>
 #include "initng_active_db.h"
-#include "initng_service_cache.h"
+//#include "initng_service_cache.h"
 #include "initng_list.h"
 
 /* this doesn't work!, it will create a circular dependency */

Modified: initng/trunk/src/initng_service_data_types.c
==============================================================================
--- initng/trunk/src/initng_service_data_types.c	(original)
+++ initng/trunk/src/initng_service_data_types.c	Thu Jun  8 18:32:44 2006
@@ -90,7 +90,9 @@
 void initng_service_data_type_unregister(s_entry * ent)
 {
 	active_db_h *currentA = NULL;
+#ifdef SERVICE_CACHE
 	service_cache_h *currentS = NULL;
+#endif
 
 	S_;
 	assert(ent);
@@ -101,11 +103,13 @@
 		remove(ent, currentA);
 	}
 
+#ifdef SERVICE_CACHE
 	/* clear the file cache from this data */
 	while_service_cache(currentS)
 	{
 		remove(ent, currentS);
 	}
+#endif
 
 	/* remove it from the list */
 	list_del(&ent->list);

Modified: initng/trunk/src/main.c
==============================================================================
--- initng/trunk/src/main.c	(original)
+++ initng/trunk/src/main.c	Thu Jun  8 18:32:44 2006
@@ -56,7 +56,7 @@
 #include "initng_main.h"
 #include "initng_service_data_types.h"
 #include "initng_fd.h"
-#include "initng_service_cache.h"
+//#include "initng_service_cache.h"
 #include "initng_process_db.h"
 #include "initng_global.h"
 

Modified: initng/trunk/tools/CMakeLists.txt
==============================================================================
--- initng/trunk/tools/CMakeLists.txt	(original)
+++ initng/trunk/tools/CMakeLists.txt	Thu Jun  8 18:32:44 2006
@@ -4,8 +4,10 @@
 
 ADD_EXECUTABLE(itype itype.c)
 
+IF(SERVICE_CACHE)
 ADD_EXECUTABLE(itool itool.c)
 TARGET_LINK_LIBRARIES(itool initng)
+ENDIF(SERVICE_CACHE)
 
 INSTALL_PROGRAMS(${SBIN_INSTALL_DIR} initng-segfault)
 INSTALL_TARGETS(${SBIN_INSTALL_DIR} killalli5)

Modified: initng/trunk/tools/itool.c
==============================================================================
--- initng/trunk/tools/itool.c	(original)
+++ initng/trunk/tools/itool.c	Thu Jun  8 18:32:44 2006
@@ -45,6 +45,7 @@
 #include <initng_signal.h>
 #include <initng_handler.h>
 #include <initng_execute.h>					/* new_environ() */
+#include <initng_service_cache.h> 
 #include <initng_active_db.h>
 #include <initng_load_module.h>
 #include <initng_plugin_callers.h>
@@ -129,7 +130,7 @@
 
 			if (strcmp(argv[2], "print") == 0)
 			{
-				char *out = service_db_print(serv);
+				char *out = service_db_print_all(serv->name);
 
 				printf("%s\n", out);
 				free(out);


More information about the Initng-svn mailing list