Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Create output directory if it doesn't exist.
Vsevolod Stakhov committed 11 years ago
commit 79e0588634aee718beaf2802ea9845f82e152568
parent 654c36f
1 file changed +13 -2
modified libpkg/pkg_repo_create.c
@@ -595,9 +595,20 @@ pkg_create_repo(char *path, const char *output_dir, bool filelist,
		return (EPKG_FATAL);
	}

+
	errno = 0;
	if (!is_dir(output_dir)) {
-
		pkg_emit_error("%s is not a directory", output_dir);
-
		return (EPKG_FATAL);
+
		/* Try to create dir */
+
		if (errno == ENOENT) {
+
			if (mkdir(output_dir, 00755) == -1) {
+
				pkg_emit_error("cannot create output directory %s: %s",
+
					output_dir, strerror(errno));
+
				return (EPKG_FATAL);
+
			}
+
		}
+
		else {
+
			pkg_emit_error("%s is not a directory", output_dir);
+
			return (EPKG_FATAL);
+
		}
	}

	repopath[0] = path;