[Libguestfs] [PATCH] sysprep: remove also hidden files/dirs in temporary dirs

Richard W.M. Jones rjones at redhat.com
Mon Apr 14 13:03:46 UTC 2014


On Mon, Apr 14, 2014 at 02:29:15PM +0200, Pino Toscano wrote:
> 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 dc0247e..d5a52f3 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
>    )

ACK.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-builder quickly builds VMs from scratch
http://libguestfs.org/virt-builder.1.html




More information about the Libguestfs mailing list