diff options
-rw-r--r-- | core/gpgme/PKGBUILD | 32 | ||||
-rw-r--r-- | core/gpgme/fix-gpg-test-t-edit-sign-signed_key_uids.patch | 12 | ||||
-rw-r--r-- | core/gpgme/fix-qt-test-t-various-for-i386.patch | 16 |
3 files changed, 60 insertions, 0 deletions
diff --git a/core/gpgme/PKGBUILD b/core/gpgme/PKGBUILD index fe37c199..463f9bd5 100644 --- a/core/gpgme/PKGBUILD +++ b/core/gpgme/PKGBUILD @@ -22,3 +22,35 @@ eval "$( s/lib.linux-x86_64/lib.linux-i686/g ' )" + +# https://dev.gnupg.org/T5526: t-various which fails on 32-bit (i386) + +source+=(fix-qt-test-t-various-for-i386.patch) +sha256sums+=('e64d08a6035ad4f856d36658580b909a0828c023b71589be5fb226d468de9415') + +eval "$( + { + declare -f prepare || \ + printf 'prepare() {\n}\n' + } \ + | sed ' + $i cd "${srcdir}/${pkgbase}-${pkgver}" \ + patch -Np1 -i "$srcdir/fix-qt-test-t-various-for-i386.patch" + ' +)" + +# https://dev.gnupg.org/T5509, t-edit-sign does a member access on a freed object + +source+=(fix-gpg-test-t-edit-sign-signed_key_uids.patch) +sha256sums+=('f3bb1aafd99d317c18130cc475f8911c9323ae005f118d10fdafd3e11ca799a8') + +eval "$( + { + declare -f prepare || \ + printf 'prepare() {\n}\n' + } \ + | sed ' + $i cd "${srcdir}/${pkgbase}-${pkgver}" \ + patch -Np1 -i "$srcdir/fix-gpg-test-t-edit-sign-signed_key_uids.patch" + ' +)" diff --git a/core/gpgme/fix-gpg-test-t-edit-sign-signed_key_uids.patch b/core/gpgme/fix-gpg-test-t-edit-sign-signed_key_uids.patch new file mode 100644 index 00000000..dcf1f1bd --- /dev/null +++ b/core/gpgme/fix-gpg-test-t-edit-sign-signed_key_uids.patch @@ -0,0 +1,12 @@ +diff -rauN a/tests/gpg/t-edit-sign.c b/tests/gpg/t-edit-sign.c +--- a/tests/gpg/t-edit-sign.c 2021-06-24 18:05:12.000000000 +0200 ++++ b/tests/gpg/t-edit-sign.c 2021-07-18 09:43:58.310772661 +0200 +@@ -168,7 +168,7 @@ + err = gpgme_get_key (ctx, key_fpr, &signed_key, 0); + fail_if_err (err); + +- signed_uid = key->uids; ++ signed_uid = signed_key->uids; + if (!signed_uid) + { + fprintf (stderr, "Signed key has no user IDs\n"); diff --git a/core/gpgme/fix-qt-test-t-various-for-i386.patch b/core/gpgme/fix-qt-test-t-various-for-i386.patch new file mode 100644 index 00000000..26b64fd5 --- /dev/null +++ b/core/gpgme/fix-qt-test-t-various-for-i386.patch @@ -0,0 +1,16 @@ + lang/qt/tests/t-various.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lang/qt/tests/t-various.cpp b/lang/qt/tests/t-various.cpp +index 8563b68..059462e 100644 +--- a/lang/qt/tests/t-various.cpp ++++ b/lang/qt/tests/t-various.cpp +@@ -355,7 +355,7 @@ private Q_SLOTS: + target.update(); + const auto keySignature = target.userID(0).signature(target.userID(0).numSignatures() - 1); + QVERIFY(!keySignature.neverExpires()); +- const auto expirationDate = QDateTime::fromSecsSinceEpoch(keySignature.expirationTime()).date(); ++ const auto expirationDate = QDateTime::fromTime_t(keySignature.expirationTime()).date(); + QCOMPARE(expirationDate, QDate(2106, 2, 6)); // expiration date is capped at 2106-02-06 + } + |