Allow Import for both types pubring.gpg and pubring.kbx.
In import, support new kbx files in gpg. Allow Import for both types pubring.gpg and pubring.kbx.
diff --git a/001-import-pubring-kbx-and-gpg.patch b/001-import-pubring-kbx-and-gpg.patch
new file mode 100644
index 0000000..bc246d5
--- /dev/null
+++ b/001-import-pubring-kbx-and-gpg.patch
@@ -0,0 +1,29 @@
+diff --git a/scripts/pacman-key.sh.in b/scripts/pacman-key.sh.in
+index 913f2c3..5910b47 100644
+--- a/scripts/pacman-key.sh.in
++++ b/scripts/pacman-key.sh.in
+@@ -453,14 +453,21 @@ import() {
+ local importdir
+ local ret=0
+ for importdir in "$@"; do
++ if [[ ! -f "${importdir}/pubring.gpg" && ! -f "${importdir}/pubring.kbx" ]]; then
++ error "$(gettext "Both file %s does not exist and could not be imported.")" "${importdir}/pubring.gpg and ${importdir}/pubring.kbx"
++ ret=1
+ if [[ -f "${importdir}/pubring.gpg" ]]; then
+ if ! "${GPG_PACMAN[@]}" --quiet --batch --import "${importdir}/pubring.gpg" ; then
+ error "$(gettext "%s could not be imported.")" "${importdir}/pubring.gpg"
+ ret=1
+ fi
+- else
+- error "$(gettext "File %s does not exist and could not be imported.")" "${importdir}/pubring.gpg"
+- ret=1
++ fi
++ if [[ -f "${importdir}/pubring.kbx" ]]; then
++ if ! "${GPG_PACMAN[@]}" --quiet --batch --homedir "${importdir}" --keyring pubring.kbx --export | "${GPG_PACMAN[@]}" --import - ; then
++ error "$(gettext "%s could not be imported.")" "${importdir}/pubring.kbx"
++ ret=1
++ fi
++ fi
+ fi
+ done
+ if (( ret )); then
diff --git a/PKGBUILD b/PKGBUILD
index f397eba..88ef34f 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -50,6 +50,7 @@ source=(https://sources.archlinux.org/other/pacman/$pkgname-$pkgver.tar.xz{,.sig
makepkg.conf
pacman-sync-first-option.patch
etc-pacman.d-gnupg.mount
+ 001-import-pubring-kbx-and-gpg.patch
pacman-init.service)
sha256sums=('7d8e3e8c5121aec0965df71f59bedf46052c6cf14f96365c4411ec3de0a4c1a5'
'SKIP'
@@ -62,6 +63,7 @@ sha256sums=('7d8e3e8c5121aec0965df71f59bedf46052c6cf14f96365c4411ec3de0a4c1a5'
'40c8c0f874a3ce1e2290be95f79b772e1e3661b7e99608e1742349eb192c0f5a'
'8167155d3a3e15fc4a1b1e989fdb826779e7b3690a52e2ca9d307ae0b1550e1d'
'b6d14727ec465bb66d0a0358163b1bbfafcb4eaed55a0f57c30aabafae7eed68'
+ 'b794c11e0a0c89bbc0582fe63d924a639908593f09ea6e9a01e2756958ba9c51'
'65d8bdccdcccb64ae05160b5d1e7f3e45e1887baf89dda36c1bd44c62442f91b')
prepare() {