dracut/0060-install-dracut-install.c-convert-destrootdir-to-real.patch

41 lines
1.5 KiB
Diff
Raw Normal View History

From 78021eace175745792f04345efe2d42218f0bb59 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Thu, 26 Jul 2012 19:21:06 +0200
Subject: [PATCH] install/dracut-install.c: convert destrootdir to realpath
otherwise we get strange errors if it ends with a slash and does not
exist.
---
install/dracut-install.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/install/dracut-install.c b/install/dracut-install.c
index 9351472..e79065d 100644
--- a/install/dracut-install.c
+++ b/install/dracut-install.c
@@ -517,6 +517,7 @@ Install SOURCE to DEST in DESTROOTDIR with all needed dependencies.\n\
-h --help Show this help\n\
\n\
Example:\n\
+# mkdir -p /var/tmp/test-root\n\
# %s -D /var/tmp/test-root --ldd -a sh tr\n\
# tree /var/tmp/test-root\n\
/var/tmp/test-root\n\
@@ -742,8 +743,16 @@ int main(int argc, char **argv)
if (strcmp(destrootdir, "/") == 0) {
log_error("Environment DESTROOTDIR or argument -D is set to '/'!");
usage(EXIT_FAILURE);
+ }
+ i = destrootdir;
+ destrootdir = realpath(destrootdir, NULL);
+ if (!destrootdir) {
+ log_error("Environment DESTROOTDIR or argument -D is set to '%s': %m", i);
+ r = EXIT_FAILURE;
+ goto finish;
}
+ free(i);
items = hashmap_new(string_hash_func, string_compare_func);
items_failed = hashmap_new(string_hash_func, string_compare_func);