From 78a32bad301e9e15b48d8866249c2a110a3ca04e Mon Sep 17 00:00:00 2001 From: GONG Jie Date: Mon, 29 Oct 2018 15:42:56 +0800 Subject: [PATCH] Fix github issue #5740 - Avoid remove symbolic link as directory --- xCAT-genesis-builder/xCAT-genesis-base.spec | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/xCAT-genesis-builder/xCAT-genesis-base.spec b/xCAT-genesis-builder/xCAT-genesis-base.spec index 76bd5644b..cc77653c4 100644 --- a/xCAT-genesis-builder/xCAT-genesis-base.spec +++ b/xCAT-genesis-builder/xCAT-genesis-base.spec @@ -112,11 +112,16 @@ local function remove_directory_deep(directory) -- print(directory) - num_dirs, num_files = remove_directory(directory, 0, '') + local info = assert(posix.stat(directory)) + if info.type == 'directory' then + num_dirs, num_files = remove_directory(directory, 0, '') - -- printf('\ndropped %d directories, %d files\n', num_dirs, num_files) + -- printf('\ndropped %d directories, %d files\n', num_dirs, num_files) - posix.rmdir(directory) + posix.rmdir(directory) + else + posix.unlink(directory) + end end remove_directory_deep("/opt/xcat/share/xcat/netboot/genesis/%{tarch}/fs/bin")