summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2010-08-06 01:30:20 +0200
committerLennart Poettering <lennart@poettering.net>2010-08-06 01:30:20 +0200
commit922cc0011979f8eda0f8b07f76bca744f50f0e31 (patch)
treeccba805c2b34b51b3f4b35aff43bf68c62942b2a
parent0ff4cdd967246bbc44f66470c2e96b403ee77aed (diff)
units: split fsck.target from sysinit.target for suse compat
-rw-r--r--Makefile.am8
-rw-r--r--src/mount.c2
-rw-r--r--src/special.h1
-rw-r--r--units/sysinit.target.m44
4 files changed, 13 insertions, 2 deletions
diff --git a/Makefile.am b/Makefile.am
index bebfd2f737..3c54043975 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -195,7 +195,8 @@ if TARGET_SUSE
dist_systemunit_DATA += \
units/suse/halt.service \
units/suse/poweroff.service \
- units/suse/reboot.service
+ units/suse/reboot.service \
+ units/suse/fsck.target
endif
if TARGET_GENTOO
@@ -787,6 +788,11 @@ if TARGET_GENTOO
rm -f xdm.service && \
$(LN_S) $(systemunitdir)/xdm.service xdm.service )
endif
+if !TARGET_SUSE
+ ( cd $(DESTDIR)$(systemunitdir) && \
+ rm -f fsck.target && \
+ $(LN_S) sysinit.target fsck.target )
+endif
DISTCHECK_CONFIGURE_FLAGS = \
--with-dbuspolicydir=$$dc_install_base/$(dbuspolicydir) \
diff --git a/src/mount.c b/src/mount.c
index c1a1d51141..76e4aa9bb2 100644
--- a/src/mount.c
+++ b/src/mount.c
@@ -281,7 +281,7 @@ static int mount_add_default_dependencies(Mount *m) {
if (m->meta.manager->running_as == MANAGER_SYSTEM) {
- if ((r = unit_add_dependency_by_name(UNIT(m), UNIT_AFTER, SPECIAL_SYSINIT_TARGET, NULL, true)) < 0)
+ if ((r = unit_add_dependency_by_name(UNIT(m), UNIT_AFTER, SPECIAL_FSCK_TARGET, NULL, true)) < 0)
return r;
if (!path_equal(m->where, "/"))
diff --git a/src/special.h b/src/special.h
index 9ffd3d8922..bbc64806bf 100644
--- a/src/special.h
+++ b/src/special.h
@@ -51,6 +51,7 @@
#define SPECIAL_BASIC_TARGET "basic.target"
#define SPECIAL_SOCKETS_TARGET "sockets.target"
#define SPECIAL_SYSINIT_TARGET "sysinit.target"
+#define SPECIAL_FSCK_TARGET "fsck.target"
#define SPECIAL_RESCUE_TARGET "rescue.target"
#define SPECIAL_EXIT_SERVICE "exit.service"
#define SPECIAL_EMERGENCY_TARGET "emergency.target"
diff --git a/units/sysinit.target.m4 b/units/sysinit.target.m4
index 30180c9749..8ca37fff95 100644
--- a/units/sysinit.target.m4
+++ b/units/sysinit.target.m4
@@ -23,3 +23,7 @@ m4_dnl Hook in Arch's /etc/rc.sysinit
Requires=sysinit.service
After=sysinit.service
)m4_dnl
+m4_ifdef(`TARGET_SUSE',`',
+m4_dnl On Suse, fsck.target is seperate, everywhere else it is just an alias for sysinit.target
+Names=fsck.target
+)m4_dnl