chiark / gitweb /
systemctl: introduce "systemctl man" to show man page for unit
[elogind.git] / src / cryptsetup / cryptsetup-generator.c
index 7eb122d27618794ba52c4783450a26eac251c212..de64afd7274dc7f4d091c1bfc40f52a1d85e88d4 100644 (file)
@@ -115,6 +115,7 @@ static int create_disk(
                 "# Automatically generated by systemd-cryptsetup-generator\n\n"
                 "[Unit]\n"
                 "Description=Cryptography Setup for %%I\n"
+                "SourcePath=/etc/crypttab\n"
                 "Conflicts=umount.target\n"
                 "DefaultDependencies=no\n"
                 "BindTo=%s dev-mapper-%%i.device\n"
@@ -129,11 +130,9 @@ static int create_disk(
         if (password && (streq(password, "/dev/urandom") ||
                          streq(password, "/dev/random") ||
                          streq(password, "/dev/hw_random")))
-                fprintf(f,
-                        "After=systemd-random-seed-load.service\n");
+                fputs("After=systemd-random-seed-load.service\n", f);
         else
-                fprintf(f,
-                        "Before=local-fs.target\n");
+                fputs("Before=local-fs.target\n", f);
 
         fprintf(f,
                 "\n[Service]\n"
@@ -241,8 +240,8 @@ int main(int argc, char *argv[]) {
         int r = EXIT_SUCCESS;
         unsigned n = 0;
 
-        if (argc > 2) {
-                log_error("This program takes one or no arguments.");
+        if (argc > 1 && argc != 4) {
+                log_error("This program takes three or no arguments.");
                 return EXIT_FAILURE;
         }