読者です 読者をやめる 読者になる 読者になる

msys2 で pacman -Syu したら "エラー: GPGME error: データがありません"

PC Tips 覚書

具体的には↓な感じ

$ pacman -Syu
エラー: GPGME error: データがありません
エラー: GPGME error: データがありません
エラー: GPGME error: データがありません
:: パッケージデータベースの同期中...
 mingw32 は最新です
 mingw64 は最新です
 msys は最新です
エラー: データベース 'mingw32' は無効です (無効または破損したデータベース (PGP 鍵))
エラー: データベース 'mingw64' は無効です (無効または破損したデータベース (PGP 鍵))
エラー: データベース 'msys' は無効です (無効または破損したデータベース (PGP 鍵))

ArchLinuxのpacman向けにはSsしたり破損DBの修正テクニックがあるみたいで、いろいろ試したのですがどれもうまく行きませんでした。なんとなく、DBそのものがアレなんじゃないかと疑って、最終的に諦めて誰か直してくれるだろうと暴漢していたのですが。。。

blog.tizen.moe

ここでcloneしたリポジトリをpullしなおして

$ git pull --rebase --all

ログを見たらそれらしき修正がcommitされてました。

$ git log
commit 73df1165131f0f2b190856680ac194015be1af0d
Author: Alexpux <alexey.pawlow@gmail.com>
Date:   Thu Jul 23 00:02:55 2015 +0300

    pacman-mirrors: Add new primary server for MSYS2

makepkg -U しても上書きインストールに失敗するので、仕方なく

$ git log -p 73df1165131f0f2b190856680ac194015be1af0d
diff --git a/pacman-mirrors/PKGBUILD b/pacman-mirrors/PKGBUILD
index 29ae85a..ea32122 100644
--- a/pacman-mirrors/PKGBUILD
+++ b/pacman-mirrors/PKGBUILD
@@ -1,7 +1,7 @@
 # Maintainer: Ray Donnelly <mingwandroid@gmail.com>

 pkgname=pacman-mirrors
-pkgver=20150619
+pkgver=20150722
 pkgrel=1
 pkgdesc="MSYS2 mirror list for use by pacman"
 arch=('any')
@@ -11,13 +11,13 @@ groups=('base')
 source=(mirrorlist.msys
         mirrorlist.mingw32
         mirrorlist.mingw64)
-md5sums=('f58765369587912bb17b0c66ffe35953'
-         '90be3b2286fe864c7068f67c9c9cd997'
-         '09b069fc381177b55593398bced176bb')

差分確認して手で直しました。mirrorのアドレスが変わったお陰でpacman -Syuできるようになったから、まあいいとしましょう。あるべき修正なのかどうかは全く知りませんが、、、

追記:issue に上がってた模様
pacman-mirrors · Issue #296 · Alexpux/MSYS2-packages · GitHub