summaryrefslogtreecommitdiffstats
path: root/abs/core/systemd/0003-gpt-auto-generator-Generate-explicit-dependencies-on.patch
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/systemd/0003-gpt-auto-generator-Generate-explicit-dependencies-on.patch')
-rw-r--r--abs/core/systemd/0003-gpt-auto-generator-Generate-explicit-dependencies-on.patch55
1 files changed, 55 insertions, 0 deletions
diff --git a/abs/core/systemd/0003-gpt-auto-generator-Generate-explicit-dependencies-on.patch b/abs/core/systemd/0003-gpt-auto-generator-Generate-explicit-dependencies-on.patch
new file mode 100644
index 0000000..c1b3aa0
--- /dev/null
+++ b/abs/core/systemd/0003-gpt-auto-generator-Generate-explicit-dependencies-on.patch
@@ -0,0 +1,55 @@
+From 4c8bda2442bfc6d84a5deb241dc29efcb81bf3af Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Thomas=20B=C3=A4chler?= <thomas@archlinux.org>
+Date: Mon, 30 Sep 2013 01:34:45 +0200
+Subject: [PATCH 3/7] gpt-auto-generator: Generate explicit dependencies on
+ systemd-fsck@.service instead of using FsckPassNo
+
+[tomegun: check for OOM]
+---
+ src/gpt-auto-generator/gpt-auto-generator.c | 14 +++++++++-----
+ 1 file changed, 9 insertions(+), 5 deletions(-)
+
+diff --git a/src/gpt-auto-generator/gpt-auto-generator.c b/src/gpt-auto-generator/gpt-auto-generator.c
+index fae4b71..25440e7 100644
+--- a/src/gpt-auto-generator/gpt-auto-generator.c
++++ b/src/gpt-auto-generator/gpt-auto-generator.c
+@@ -182,7 +182,7 @@ static int add_swap(const char *path, const char *fstype) {
+ }
+
+ static int add_home(const char *path, const char *fstype) {
+- _cleanup_free_ char *unit = NULL, *lnk = NULL;
++ _cleanup_free_ char *unit = NULL, *lnk = NULL, *fsck = NULL;
+ _cleanup_fclose_ FILE *f = NULL;
+
+ if (dir_is_empty("/home") <= 0)
+@@ -200,19 +200,23 @@ static int add_home(const char *path, const char *fstype) {
+ return -errno;
+ }
+
++ fsck = unit_name_from_path_instance("systemd-fsck", path, ".service");
++ if (!fsck)
++ return log_oom();
++
+ fprintf(f,
+ "# Automatically generated by systemd-gpt-auto-generator\n\n"
+ "[Unit]\n"
+ "DefaultDependencies=no\n"
+- "After=" SPECIAL_LOCAL_FS_PRE_TARGET "\n"
++ "Requires=%s\n"
++ "After=" SPECIAL_LOCAL_FS_PRE_TARGET " %s\n"
+ "Conflicts=" SPECIAL_UMOUNT_TARGET "\n"
+ "Before=" SPECIAL_UMOUNT_TARGET " " SPECIAL_LOCAL_FS_TARGET "\n\n"
+ "[Mount]\n"
+ "What=%s\n"
+ "Where=/home\n"
+- "Type=%s\n"
+- "FsckPassNo=2\n",
+- path, fstype);
++ "Type=%s\n",
++ fsck, fsck, path, fstype);
+
+ fflush(f);
+ if (ferror(f)) {
+--
+1.8.5.1
+