On 08/06/10 23:37 -0300, Nelson A. de Oliveira said ...
> dput could better handle this type of error, where GPG fails (in this
> case, caused by entering a wrong passphrase):

Thank you for the bug report.

>   File "/usr/bin/dcut", line 318, in dcut
>     os.rmdir(tempdir)
> OSError: [Errno 39] Directory not empty: '/tmp/dcut.VbQWKc'
> =========================
> 
> Suggestion is to give a better error message and to remove the temp dir.

Looking at the code, the intention is to actually cleanup the file first and
then the directory

298       commands = parse_queuecommands(arguments,options,config)
299       filename = write_commands(commands, options, config, tempdir)
[snip...]
312   finally:
313     # we use sys.exit, so we need to clean up here
314     if tempdir:
315       # file is temporary iff in tempdir
316       if filename:
317         os.unlink(filename)
318       os.rmdir(tempdir)

The problem is that, in write_commands we have ...

188   if os.system(debsign_cmdline):
189     print >> sys.stderr, "Error: debsign failed."
190     sys.exit(1)
191   return filename

And since filename is Null in dcut() as a result of this.  So we don't unlink
it and try to remove the directory.

Cheers,

Giridhar

-- 
Y Giridhar Appaji Nag | http://appaji.net/

Attachment: signature.asc
Description: Digital signature

Reply via email to