Subject: bug#32126: closed (Re: bug#32126: call-with-temporary-directory rarely cleans up after itself)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 13 Jul 2018 21:35:02 +0000

Your bug report

#32126: call-with-temporary-directory rarely cleans up after itself

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
32126: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=32126
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#32126: call-with-temporary-directory rarely cleans up after itself
From: Leo Famulari <[email-masked]>
To: Ludovic Courtès <[email-masked]>
Cc: [email-masked]
Date: Fri, 13 Jul 2018 17:34:30 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

On Thu, Jul 12, 2018 at 05:37:18PM +0200, Ludovic Courtès wrote:
> Hi Leo,
> 
> Leo Famulari <[email-masked]> skribis:
> 
> > Should we alter the call-with-temporary-directory procedure to use
> > ((guix build utils) delete-file-recursively)?
> 
> Yes, definitely.  Note that you can alter (guix utils) without fear of a
> full rebuild, so you can go ahead and do that in ‘master’.

Great, pushed as 27f7cbc91d1963118e44b14d04fcc669c9618176.

Subject: call-with-temporary-directory rarely cleans up after itself
From: Leo Famulari <[email-masked]>
To: [email-masked]
Date: Wed, 11 Jul 2018 14:59:37 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

While testing something, I noticed that temporary directories created
with ((guix utils) call-with-temporary-directory) were not being
deleted.

This procedure is documented to delete the directories after execution:

"Call PROC with a name of a temporary directory; close the directory and
delete it when leaving the dynamic extent of this call."

It uses rmdir, which is documented as follows: "Remove the existing
directory named by path. The directory must be empty for this to
succeed." [0]

I think this is a case where one expects the directory to be deleted as
with `rm -rf`, regardless of whether or not it is empty.

Should we alter the call-with-temporary-directory procedure to use
((guix build utils) delete-file-recursively)?

[0]
https://www.gnu.org/software/guile/manual/html_node/File-System.html#index-rmdir