summary refs log tree commit diff
path: root/pkgs/os-specific/linux/systemd/fixes.patch
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2014-05-01 14:16:58 +0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2014-05-01 14:32:58 +0200
commitcb45ecad3455e2d420b0117624187ce3ecd4810f (patch)
treebdc02b84511944771cd0e0962c820bc8e208faea /pkgs/os-specific/linux/systemd/fixes.patch
parent5d5bc8a037279aa4a5abd8d3a92efb9bf3af3dc4 (diff)
downloadnixlib-cb45ecad3455e2d420b0117624187ce3ecd4810f.tar
nixlib-cb45ecad3455e2d420b0117624187ce3ecd4810f.tar.gz
nixlib-cb45ecad3455e2d420b0117624187ce3ecd4810f.tar.bz2
nixlib-cb45ecad3455e2d420b0117624187ce3ecd4810f.tar.lz
nixlib-cb45ecad3455e2d420b0117624187ce3ecd4810f.tar.xz
nixlib-cb45ecad3455e2d420b0117624187ce3ecd4810f.tar.zst
nixlib-cb45ecad3455e2d420b0117624187ce3ecd4810f.zip
systemd: Look for fsck.* in the right place
Fixes #2464.
Diffstat (limited to 'pkgs/os-specific/linux/systemd/fixes.patch')
-rw-r--r--pkgs/os-specific/linux/systemd/fixes.patch35
1 files changed, 35 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/systemd/fixes.patch b/pkgs/os-specific/linux/systemd/fixes.patch
index 2004204e4429..562db98f5e8b 100644
--- a/pkgs/os-specific/linux/systemd/fixes.patch
+++ b/pkgs/os-specific/linux/systemd/fixes.patch
@@ -94,6 +94,28 @@ index d1258f0..0311812 100644
  #ifndef HAVE_SPLIT_USR
                      || path_equal(m->path, "/usr")
  #endif
+diff --git a/src/fsck/fsck.c b/src/fsck/fsck.c
+index 18f2aca..2a2b1ea 100644
+--- a/src/fsck/fsck.c
++++ b/src/fsck/fsck.c
+@@ -285,7 +285,7 @@ int main(int argc, char *argv[]) {
+ 
+         type = udev_device_get_property_value(udev_device, "ID_FS_TYPE");
+         if (type) {
+-                const char *checker = strappenda("/sbin/fsck.", type);
++                const char *checker = strappenda("/run/current-system/sw/sbin/fsck.", type);
+                 r = access(checker, X_OK);
+                 if (r < 0) {
+                         if (errno == ENOENT) {
+@@ -302,7 +302,7 @@ int main(int argc, char *argv[]) {
+                         return EXIT_FAILURE;
+                 }
+ 
+-        cmdline[i++] = "/sbin/fsck";
++        cmdline[i++] = "/run/current-system/sw/sbin/fsck";
+         cmdline[i++] = "-a";
+         cmdline[i++] = "-T";
+         cmdline[i++] = "-l";
 diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
 index 9a9ed9d..9e46e18 100644
 --- a/src/nspawn/nspawn.c
@@ -129,6 +151,19 @@ index d61ecdf..228a3a4 100644
                  if (ifaddrmsg->ifa_flags & IFA_F_DEPRECATED)
                          continue;
  
+diff --git a/src/shared/generator.c b/src/shared/generator.c
+index 6110303..e679cb1 100644
+--- a/src/shared/generator.c
++++ b/src/shared/generator.c
+@@ -48,7 +48,7 @@ int generator_write_fsck_deps(
+                 const char *checker;
+                 int r;
+ 
+-                checker = strappenda("/sbin/fsck.", fstype);
++                checker = strappenda("/run/current-system/sw/sbin/fsck.", fstype);
+                 r = access(checker, X_OK);
+                 if (r < 0) {
+                         log_warning("Checking was requested for %s, but %s cannot be used: %m", what, checker);
 diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c
 index 0887bc3..6b502ce 100644
 --- a/src/systemctl/systemctl.c