summaryrefslogtreecommitdiff
path: root/install/dracut-install.c
diff options
context:
space:
mode:
Diffstat (limited to 'install/dracut-install.c')
-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