diff --git a/shared/util.go b/shared/util.go index 49c53db..d0489fe 100644 --- a/shared/util.go +++ b/shared/util.go @@ -87,8 +87,15 @@ func CreateGPGKeyring(keyserver string, keys []string) (string, error) { return "", err } - out, err := lxd.RunCommand("gpg", append([]string{ - "--homedir", gpgDir, "--keyserver", keyserver, "--recv-keys"}, keys...)...) + args := []string{"--homedir", gpgDir} + + if keyserver != "" { + args = append(args, "--keyserver", keyserver) + } + + args = append(args, append([]string{"--recv-keys"}, keys...)...) + + out, err := lxd.RunCommand("gpg", args...) if err != nil { os.RemoveAll(gpgDir) return "", fmt.Errorf("Failed to create keyring: %s", out) diff --git a/shared/util_test.go b/shared/util_test.go index 993f3e6..ab2da3d 100644 --- a/shared/util_test.go +++ b/shared/util_test.go @@ -81,7 +81,7 @@ func TestVerifyFile(t *testing.T) { "", keys, "", - true, + false, }, } @@ -109,15 +109,14 @@ func TestCreateGPGKeyring(t *testing.T) { } os.RemoveAll(gpgDir) - // This should fail running the gpg command. + // This shouldn't fail either. gpgDir, err = CreateGPGKeyring("", []string{}) - if err == nil { - t.Fatal("Expected to fail") + if err != nil { + t.Fatalf("Unexpected error: %s", err) } - // The gpgDir directory should've have been cleaned up. Check this. - if lxd.PathExists(gpgDir) { - os.RemoveAll(gpgDir) - t.Fatal("Failed to clean up gpg directory") + if !lxd.PathExists(gpgDir) { + t.Fatalf("Failed to create gpg directory: %s", gpgDir) } + os.RemoveAll(gpgDir) }