sysv: handle suse style boot.d dirs

This commit is contained in:
Lennart Poettering 2010-04-07 18:46:49 +02:00
parent a7610064ae
commit adcbe07c2f
2 changed files with 11 additions and 10 deletions

View File

@ -82,7 +82,7 @@ struct Watch {
#define SPECIAL_REMOTE_FS_TARGET "remote-fs.target" #define SPECIAL_REMOTE_FS_TARGET "remote-fs.target"
#define SPECIAL_SYSLOG_TARGET "syslog.target" /* Should pull in syslog.socket or syslog.service */ #define SPECIAL_SYSLOG_TARGET "syslog.target" /* Should pull in syslog.socket or syslog.service */
#define SPECIAL_RTC_SET_TARGET "rtc-set.target" /* LSB's $time */ #define SPECIAL_RTC_SET_TARGET "rtc-set.target" /* LSB's $time */
#define SPECIAL_BASIC_SERVICE "basic.target" #define SPECIAL_BASIC_TARGET "basic.target"
/* For SysV compatibility. Usually an alias for a saner target. On /* For SysV compatibility. Usually an alias for a saner target. On
* SysV-free systems this doesn't exist. */ * SysV-free systems this doesn't exist. */

View File

@ -36,13 +36,14 @@
#define LINE_MAX 4096 #define LINE_MAX 4096
static const char * const rcnd_table[] = { static const char * const rcnd_table[] = {
"/rc0.d", SPECIAL_RUNLEVEL0_TARGET, "/rc0.d", SPECIAL_RUNLEVEL0_TARGET,
"/rc1.d", SPECIAL_RUNLEVEL1_TARGET, "/rc1.d", SPECIAL_RUNLEVEL1_TARGET,
"/rc2.d", SPECIAL_RUNLEVEL2_TARGET, "/rc2.d", SPECIAL_RUNLEVEL2_TARGET,
"/rc3.d", SPECIAL_RUNLEVEL3_TARGET, "/rc3.d", SPECIAL_RUNLEVEL3_TARGET,
"/rc4.d", SPECIAL_RUNLEVEL4_TARGET, "/rc4.d", SPECIAL_RUNLEVEL4_TARGET,
"/rc5.d", SPECIAL_RUNLEVEL5_TARGET, "/rc5.d", SPECIAL_RUNLEVEL5_TARGET,
"/rc6.d", SPECIAL_RUNLEVEL6_TARGET "/rc6.d", SPECIAL_RUNLEVEL6_TARGET,
"/boot.d", SPECIAL_BASIC_TARGET
}; };
static const UnitActiveState state_translation_table[_SERVICE_STATE_MAX] = { static const UnitActiveState state_translation_table[_SERVICE_STATE_MAX] = {
@ -564,8 +565,8 @@ static int service_load_sysv_path(Service *s, const char *path, UnitLoadState *n
if ((r = sysv_exec_commands(s)) < 0) if ((r = sysv_exec_commands(s)) < 0)
goto finish; goto finish;
if ((r = unit_add_dependency_by_name(u, UNIT_REQUIRES, SPECIAL_BASIC_SERVICE)) < 0 || if ((r = unit_add_dependency_by_name(u, UNIT_REQUIRES, SPECIAL_BASIC_TARGET)) < 0 ||
(r = unit_add_dependency_by_name(u, UNIT_AFTER, SPECIAL_BASIC_SERVICE)) < 0) (r = unit_add_dependency_by_name(u, UNIT_AFTER, SPECIAL_BASIC_TARGET)) < 0)
goto finish; goto finish;
*new_state = UNIT_LOADED; *new_state = UNIT_LOADED;