From 8ae2a8a9365bdcb0474042d4ad654d46807c7bfa Mon Sep 17 00:00:00 2001 From: Pino Toscano Date: Mon, 14 Apr 2014 14:18:41 +0200 Subject: [PATCH] sysprep: remove also hidden files/dirs in temporary dirs List manually and remove the content left (hidden files/directories) in temporary directories after the glob listing & removal. --- sysprep/sysprep_operation_tmp_files.ml | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/sysprep/sysprep_operation_tmp_files.ml b/sysprep/sysprep_operation_tmp_files.ml index dc0247e07..d5a52f365 100644 --- a/sysprep/sysprep_operation_tmp_files.ml +++ b/sysprep/sysprep_operation_tmp_files.ml @@ -24,15 +24,22 @@ module G = Guestfs let tmp_files_perform ~debug ~quiet g root side_effects = let typ = g#inspect_get_type root in if typ <> "windows" then ( - let paths = [ "/tmp/*"; - "/var/tmp/*"; ] in + let paths = [ "/tmp"; + "/var/tmp"; ] in List.iter ( fun path -> - let files = g#glob_expand path in + let files = g#glob_expand (path ^ "/*") in Array.iter ( fun file -> g#rm_rf file; ) files; + (try + let files = g#ls path in + Array.iter ( + fun file -> + g#rm_rf (path ^ "/" ^ file); + ) files + with G.Error _ -> ()); ) paths )