summaryrefslogtreecommitdiff
path: root/install
diff options
context:
space:
mode:
authorHarald Hoyer <harald@redhat.com>2012-10-03 16:37:23 -0400
committerHarald Hoyer <harald@redhat.com>2012-10-03 16:39:27 -0400
commit43a050e54208a228bb982860fcd6e2faae8a2acc (patch)
tree16e9b6c1ecf861ffe695062544a349329f123174 /install
parent25787f8071eaa32cce28cd9e17a23f178e737b0d (diff)
downloaddracut-43a050e54208a228bb982860fcd6e2faae8a2acc.tar.gz
dracut-43a050e54208a228bb982860fcd6e2faae8a2acc.tar.bz2
dracut-43a050e54208a228bb982860fcd6e2faae8a2acc.zip
install/dracut-install.c: do not ldd directories
Diffstat (limited to 'install')
-rw-r--r--install/dracut-install.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/install/dracut-install.c b/install/dracut-install.c
index 60a62e8b..8aa0e2e5 100644
--- a/install/dracut-install.c
+++ b/install/dracut-install.c
@@ -291,6 +291,9 @@ static int resolve_deps(const char *src)
if (strstr(buf, "loader cannot load itself"))
break;
+ if (strstr(buf, "not regular file"))
+ break;
+
p = strstr(buf, "/");
if (p) {
int r;
@@ -408,7 +411,7 @@ static int dracut_install(const char *src, const char *dst, bool isdir, bool res
}
if (ret == 0) {
- if (resolvedeps) {
+ if (resolvedeps && S_ISREG(sb.st_mode) && (sb.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) {
log_debug("'%s' already exists, but checking for any deps", fulldstpath);
ret = resolve_deps(src);
} else