Control: tag -1 + patch

Hi,

On Sat, 11 Jul 2015 11:43:03 +0200 Johannes Schauer <jo...@debian.org> wrote:
> The fix is to just run `sudo mkdir /root/.gnupg` before running
> `sbuild-update --keygen`. Ideally, sbuild-update would run that mkdir command
> itself.

and here comes a patch!

Thanks!

cheers, josch
commit 0ab623a3292aabf2dc475072a8967589ce009b21
Author: Johannes 'josch' Schauer <jo...@mister-muffin.de>
Date:   Sat Jul 11 19:03:55 2015 +0200

    create ~/.gnupg if it did not exist before when running sbuild-update

diff --git a/lib/Sbuild/ChrootSetup.pm b/lib/Sbuild/ChrootSetup.pm
index 649c5f3..3721554 100644
--- a/lib/Sbuild/ChrootSetup.pm
+++ b/lib/Sbuild/ChrootSetup.pm
@@ -244,6 +244,21 @@ EOF
     print $tmpfh '%commit' . "\n";
     close($tmpfh);
 
+    my $gnupghome = $ENV{'GNUPGHOME'};
+    if (!$gnupghome) {
+	$gnupghome = $ENV{'HOME'};
+	if (!$gnupghome) {
+	    my @pwinfo = getpwuid($<);
+	    die "Can't get passwd entry for uid $<: $!" if (!@pwinfo);
+	    print STDERR "W: HOME not set in environment; falling back to $pwinfo[7]\n";
+	    $gnupghome = $pwinfo[7];
+	}
+	$gnupghome .= '/.gnupg';
+    }
+    if (! -d $gnupghome) {
+	mkdir $gnupghome, 0700 or die "failed to create $gnupghome";
+    }
+
     $host->run_command(
 	{ COMMAND => ['chown', ':sbuild', $tmpfilename],
 	  USER => $conf->get('USERNAME'),

Attachment: signature.asc
Description: signature

Reply via email to