summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>2009-05-28 16:00:15 +0000
committerArfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>2009-05-28 16:00:15 +0000
commit1f291de4593d75101ba834900fbb47099fca65f4 (patch)
tree0517c981d78e9e92dc5b39a80369ce95732000be /kde-base
parentarm/ia64/s390/sh/sparc stable wrt #270102 (diff)
downloadhistorical-1f291de4593d75101ba834900fbb47099fca65f4.tar.gz
historical-1f291de4593d75101ba834900fbb47099fca65f4.tar.bz2
historical-1f291de4593d75101ba834900fbb47099fca65f4.zip
Fix parsing of output of >=app-crypt/gnupg-2.0.10 (bug #263454).
Package-Manager: portage-13625-svn/cvs/Linux x86_64
Diffstat (limited to 'kde-base')
-rw-r--r--kde-base/kgpg/ChangeLog8
-rw-r--r--kde-base/kgpg/Manifest4
-rw-r--r--kde-base/kgpg/files/kgpg-4.2.3-gnupg-2.0.10.patch298
-rw-r--r--kde-base/kgpg/kgpg-4.2.3-r1.ebuild21
4 files changed, 329 insertions, 2 deletions
diff --git a/kde-base/kgpg/ChangeLog b/kde-base/kgpg/ChangeLog
index d5549efb1211..13366ac1be9a 100644
--- a/kde-base/kgpg/ChangeLog
+++ b/kde-base/kgpg/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for kde-base/kgpg
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/kde-base/kgpg/ChangeLog,v 1.114 2009/05/06 23:26:23 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/kde-base/kgpg/ChangeLog,v 1.115 2009/05/28 16:00:14 arfrever Exp $
+
+*kgpg-4.2.3-r1 (28 May 2009)
+
+ 28 May 2009; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>
+ +kgpg-4.2.3-r1.ebuild, +files/kgpg-4.2.3-gnupg-2.0.10.patch:
+ Fix parsing of output of >=app-crypt/gnupg-2.0.10 (bug #263454).
*kgpg-4.2.3 (06 May 2009)
diff --git a/kde-base/kgpg/Manifest b/kde-base/kgpg/Manifest
index cb52ba5934d2..cb1b7252a1a4 100644
--- a/kde-base/kgpg/Manifest
+++ b/kde-base/kgpg/Manifest
@@ -1,3 +1,4 @@
+AUX kgpg-4.2.3-gnupg-2.0.10.patch 9913 RMD160 109a035d73f10060017fa3f3c6131b18cae73695 SHA1 78c0061f45aa9b931e824b4189934df0b9706ea0 SHA256 16817a33879717e5b45e02d54e15ae692d60bfa30fe737ba8c8597b33d7a86cf
DIST kdeutils-3.5.10.tar.bz2 3062038 RMD160 98edf87a92c6baf2a3dcd119659cead1110d5789 SHA1 dfa440253fd9802d1a9665d339c20d903ea676af SHA256 85f25c3651e1e4daf331c021ae932de3202037eba54709655dc04efcfeda0c18
DIST kdeutils-3.5.9.tar.bz2 3060841 RMD160 ac98dce89f31469de8b582328fa2a0f10e835d01 SHA1 143c1284e4e4f3c985af1e156652e415f566ba17 SHA256 65df88b026720b8e11446c9a0a5d8cd942d236097e9c6ca63607fab04884b5ff
DIST kdeutils-4.2.2.tar.bz2 2376713 RMD160 a3958cded83121e8dc4c979b085294f925ec449c SHA1 98e388776b1c270fc6a629c94455024e08bb85b4 SHA256 b005a16f5c4cb5ce0a3e2b886f6b5a051d1d2170c013cdc154528a357ac3bb8b
@@ -5,6 +6,7 @@ DIST kdeutils-4.2.3.tar.bz2 2378200 RMD160 7be0fb1e0386a72d0f1cbdb703bde8ec41479
EBUILD kgpg-3.5.10.ebuild 823 RMD160 d8b5e7e7c4012aa548c72353807ea434af4109cb SHA1 ade5e23303186a3ce36d62b24bb33026c93aa9ed SHA256 7a2a5ef726de2734d43e1fea6bfaba0ccf7d0f8c31264ae92368e5e5cb653c72
EBUILD kgpg-3.5.9.ebuild 815 RMD160 17330f3a95b5f009c1d7f4b42e647f05eb3eeb63 SHA1 e0ac551f2d69fa4dbf0bdbf1331d73ea073c0213 SHA256 7a430a61df50f2fbaf1854457e546a2ad8f90f9e7114becbd044dff9228bb720
EBUILD kgpg-4.2.2.ebuild 469 RMD160 95b00d89c29d60ea703b1bfa902cb1a1ca70bb6a SHA1 f6e464d8b29dc677bd36f5b916f7bddc574a25d8 SHA256 a3a534d149087f2823cd8df13b6235b02479a450ca717abfc2f3bbf6cbf1e8a7
+EBUILD kgpg-4.2.3-r1.ebuild 525 RMD160 86c74d173efe257aa5e3256afb9a9368a0fae2e3 SHA1 6c9a2e971d817ef254da4425b4da48182b29bedf SHA256 6120730ebbba40cd9e3ff2f7ae602ca91b60e8026e5abb3f6d3c79dff11058e5
EBUILD kgpg-4.2.3.ebuild 472 RMD160 3adabcd04a7c6c52f14990bb464cd4f2ae1d6c34 SHA1 95d44449e3fc2342cd702db57ab55ae9b159c6e9 SHA256 64a08ae3aad5bc1717a288d322a25e8fb2d42bdade422f9e365da0c9079c5350
-MISC ChangeLog 13541 RMD160 6bc5a2a949479401802316a8ebec52702fa93958 SHA1 1cbba55f97489b8e92051214c33ce475aec13ad5 SHA256 58b7db97564efb174e05af5d6375bce365ed629f8416569f3b115725c6b32531
+MISC ChangeLog 13774 RMD160 956ae154a27f4a7e5972466a62f04bb3b2584bbb SHA1 f78daffad0627513b8837c9b312e1fc9a259b329 SHA256 215fe25e1818003b5714f7a6e78d710cb713c3dba7106dce6d124f93ff148d30
MISC metadata.xml 156 RMD160 ecce3b981f150c45ae1e84e2d208e678d6124259 SHA1 b64f7c0b4e5db816d82ad19848f72118af129d35 SHA256 2f4da28506b9d4185f320f67a6191d30c7a921217ed4447ed46ea0bc4aefc79a
diff --git a/kde-base/kgpg/files/kgpg-4.2.3-gnupg-2.0.10.patch b/kde-base/kgpg/files/kgpg-4.2.3-gnupg-2.0.10.patch
new file mode 100644
index 000000000000..6683824d414d
--- /dev/null
+++ b/kde-base/kgpg/files/kgpg-4.2.3-gnupg-2.0.10.patch
@@ -0,0 +1,298 @@
+https://bugs.gentoo.org/show_bug.cgi?id=263454
+https://bugs.kde.org/show_bug.cgi?id=188473
+http://websvn.kde.org/?view=rev&revision=973317
+
+--- kgpg/kgpginterface.cpp
++++ kgpg/kgpginterface.cpp
+@@ -464,11 +464,11 @@
+ {
+ m_publiclistkeys = KgpgKeyList();
+ m_publickey = KgpgKey();
+- m_numberid = 1;
++ m_numberid = 0;
+ cycle = "none";
+
+ GPGProc *process = new GPGProc(this);
+- *process << "--with-colons" << "--with-fingerprint";
++ *process << "--with-colons" << "--with-fingerprint" << "--fixed-list-mode";
+ if (withsigs)
+ *process << "--list-sigs";
+ else
+@@ -514,7 +514,7 @@
+ m_publickey.setSize(lsp.at(2).toUInt());
+ m_publickey.setAlgorithm(Convert::toAlgo(lsp.at(3).toInt()));
+ m_publickey.setFingerprint(lsp.at(4));
+- m_publickey.setCreation(QDate::fromString(lsp.at(5), Qt::ISODate));
++ m_publickey.setCreation(QDateTime::fromTime_t(lsp.at(5).toUInt()).date());
+ m_publickey.setOwnerTrust(Convert::toOwnerTrust(lsp.at(8)));
+
+ if (lsp.at(6).isEmpty())
+@@ -523,7 +523,7 @@
+ }
+ else
+ {
+- m_publickey.setExpiration(QDate::fromString(lsp.at(6), Qt::ISODate));
++ m_publickey.setExpiration(QDateTime::fromTime_t(lsp.at(6).toUInt()).date());
+ }
+
+ if (lsp.at(11).contains("D", Qt::CaseSensitive)) // disabled key
+@@ -531,45 +531,9 @@
+ else
+ m_publickey.setValid(true);
+
+- QString fullname = lsp.at(9);
+- if (fullname.contains("<"))
+- {
+- QString kmail = fullname;
+-
+- if (fullname.contains(')') )
+- kmail = kmail.section(')', 1);
+-
+- kmail = kmail.section('<', 1);
+- kmail.truncate(kmail.length() - 1);
+-
+- if (kmail.contains('<') ) // several email addresses in the same key
+- {
+- kmail = kmail.replace('>', ';');
+- kmail.remove('<');
+- }
+-
+- m_publickey.setEmail(kmail);
+- }
+- else
+- m_publickey.setEmail(QString());
+-
+- QString kname = fullname.section(" <", 0, 0);
+- if (fullname.contains('(') )
+- {
+- kname = kname.section(" (", 0, 0);
+- QString comment = fullname.section('(', 1, 1);
+- comment = comment.section(')', 0, 0);
+-
+- m_publickey.setComment(comment);
+- }
+- else
+- m_publickey.setComment(QString());
+- m_publickey.setName(kname);
+-
+ cycle = "pub";
+
+- // the first uid is merged into the public key
+- m_numberid = 1;
++ m_numberid = 0;
+ }
+ else
+ if ((lsp.at(0) == "fpr") && (items >= 10))
+@@ -587,7 +551,7 @@
+ sub.setTrust(Convert::toTrust(lsp.at(1)));
+ sub.setSize(lsp.at(2).toUInt());
+ sub.setAlgorithm(Convert::toAlgo(lsp.at(3).toInt()));
+- sub.setCreation(QDate::fromString(lsp.at(5), Qt::ISODate));
++ sub.setCreation(QDateTime::fromTime_t(lsp.at(5).toUInt()).date());
+
+ // FIXME: Please see kgpgkey.h, KgpgSubKey class
+ if (lsp.at(11).contains('D'))
+@@ -607,7 +571,7 @@
+ }
+ else
+ {
+- sub.setExpiration(QDate::fromString(lsp.at(6), Qt::ISODate));
++ sub.setExpiration(QDateTime::fromTime_t(lsp.at(6).toUInt()).date());
+ }
+
+ m_publickey.subList()->append(sub);
+@@ -619,7 +583,7 @@
+ m_numberid++;
+ KgpgKeyUat uat;
+ uat.setId(QString::number(m_numberid));
+- uat.setCreation(QDate::fromString(lsp.at(5), Qt::ISODate));
++ uat.setCreation(QDateTime::fromTime_t(lsp.at(5).toUInt()).date());
+ m_publickey.uatList()->append(uat);
+
+ cycle = "uat";
+@@ -627,19 +591,11 @@
+ else
+ if ((lsp.at(0) == "uid") && (items >= 10))
+ {
+- KgpgKeyUid uid;
+-
+- uid.setTrust(Convert::toTrust(lsp.at(1)));
+- if ((items > 11) && lsp.at(11).contains('D'))
+- uid.setValid(false);
+- else
+- uid.setValid(true);
+-
+- uid.setIndex(++m_numberid);
+ QString fullname = lsp.at(9);
++ QString kmail;
+ if (fullname.contains('<') )
+ {
+- QString kmail = fullname;
++ kmail = fullname;
+
+ if (fullname.contains(')') )
+ kmail = kmail.section(')', 1);
+@@ -652,28 +608,40 @@
+ kmail = kmail.replace('>', ';');
+ kmail.remove('<');
+ }
+-
+- uid.setEmail(kmail);
+ }
+- else
+- uid.setEmail(QString());
+
+ QString kname = fullname.section(" <", 0, 0);
++ QString comment;
+ if (fullname.contains('(') )
+ {
+ kname = kname.section(" (", 0, 0);
+- QString comment = fullname.section('(', 1, 1);
++ comment = fullname.section('(', 1, 1);
+ comment = comment.section(')', 0, 0);
+-
+- uid.setComment(comment);
+ }
+- else
+- uid.setComment(QString());
+- uid.setName(kname);
+
+- m_publickey.uidList()->append(uid);
++ if (m_numberid == 0) {
++ m_numberid++;
++ m_publickey.setEmail(kmail);
++ m_publickey.setComment(comment);
++ m_publickey.setName(kname);
++ } else {
++ KgpgKeyUid uid;
++
++ uid.setEmail(kmail);
++ uid.setComment(comment);
++ uid.setName(kname);
++ uid.setTrust(Convert::toTrust(lsp.at(1)));
++ if ((items > 11) && lsp.at(11).contains('D'))
++ uid.setValid(false);
++ else
++ uid.setValid(true);
++
++ uid.setIndex(++m_numberid);
++
++ m_publickey.uidList()->append(uid);
+
+- cycle = "uid";
++ cycle = "uid";
++ }
+ }
+ else
+ if (((lsp.at(0) == "sig") || (lsp.at(0) == "rev")) && (items >= 11))
+@@ -681,7 +649,7 @@
+ KgpgKeySign signature;
+
+ signature.setId(lsp.at(4));
+- signature.setCreation(QDate::fromString(lsp.at(5), Qt::ISODate));
++ signature.setCreation(QDateTime::fromTime_t(lsp.at(5).toUInt()).date());
+
+ if (lsp.at(6).isEmpty())
+ {
+@@ -689,43 +657,8 @@
+ }
+ else
+ {
+- signature.setExpiration(QDate::fromString(lsp.at(6), Qt::ISODate));
+- }
+-
+- QString fullname = lsp.at(9);
+- if (fullname.contains('<') )
+- {
+- QString kmail = fullname;
+-
+- if (fullname.contains(')') )
+- kmail = kmail.section(')', 1);
+-
+- kmail = kmail.section('<', 1);
+- kmail.truncate(kmail.length() - 1);
+-
+- if (kmail.contains('<' )) // several email addresses in the same key
+- {
+- kmail = kmail.replace('>', ';');
+- kmail.remove('<');
+- }
+-
+- signature.setEmail(kmail);
+- }
+- else
+- signature.setEmail(QString());
+-
+- QString kname = fullname.section(" <", 0, 0);
+- if (fullname.contains('(' ))
+- {
+- kname = kname.section(" (", 0, 0);
+- QString comment = fullname.section('(', 1, 1);
+- comment = comment.section(')', 0, 0);
+-
+- signature.setComment(comment);
++ signature.setExpiration(QDateTime::fromTime_t(lsp.at(6).toUInt()).date());
+ }
+- else
+- signature.setComment(QString());
+- signature.setName(kname);
+
+ if (lsp.at(10).endsWith('l'))
+ signature.setLocal(true);
+@@ -769,7 +702,7 @@
+ m_secretactivate = false;
+
+ GPGProc *process = new GPGProc(this);
+- *process << "--with-colons" << "--list-secret-keys" << "--with-fingerprint";
++ *process << "--with-colons" << "--list-secret-keys" << "--with-fingerprint" << "--fixed-list-mode";
+
+ *process << ids;
+
+@@ -789,6 +722,7 @@
+ {
+ QStringList lsp;
+ int items;
++ bool hasuid = true;
+
+ while ( (items = p->readln(lsp)) >= 0 )
+ {
+@@ -804,7 +738,7 @@
+ m_secretkey.setSize(lsp.at(2).toUInt());
+ m_secretkey.setAlgorithm(Convert::toAlgo(lsp.at(3).toInt()));
+ m_secretkey.setFingerprint(lsp.at(4));
+- m_secretkey.setCreation(QDate::fromString(lsp[5], Qt::ISODate));
++ m_secretkey.setCreation(QDateTime::fromTime_t(lsp.at(5).toUInt()).date());
+ m_secretkey.setSecret(true);
+
+ if (lsp.at(6).isEmpty())
+@@ -813,8 +747,14 @@
+ }
+ else
+ {
+- m_secretkey.setExpiration(QDate::fromString(lsp.at(6), Qt::ISODate));
++ m_secretkey.setExpiration(QDateTime::fromTime_t(lsp.at(6).toUInt()).date());
+ }
++ hasuid = true;
++ } else if ((lsp.at(0) == "uid") && (items >= 10)) {
++ if (hasuid)
++ continue;
++
++ hasuid = true;
+
+ QString fullname = lsp.at(9);
+ if (fullname.contains('<' ))
+@@ -1541,12 +1481,12 @@
+ {
+ GPGProc *listproc = new GPGProc(this);
+ *listproc << "--status-fd=1";
+- *listproc << "--with-colons" << "--list-sigs" << keyID;
++ *listproc << "--with-colons" << "--list-sigs" << "--fixed-list-mode" << keyID;
+ listproc->start();
+ listproc->waitForFinished(-1);
+
+ QString line;
+- int curuid = 1;
++ int curuid = 0;
+ int signs = 0;
+ int tgtuid = uid.toInt();
+
diff --git a/kde-base/kgpg/kgpg-4.2.3-r1.ebuild b/kde-base/kgpg/kgpg-4.2.3-r1.ebuild
new file mode 100644
index 000000000000..0bff6ac5ed86
--- /dev/null
+++ b/kde-base/kgpg/kgpg-4.2.3-r1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/kde-base/kgpg/kgpg-4.2.3-r1.ebuild,v 1.1 2009/05/28 16:00:14 arfrever Exp $
+
+EAPI="2"
+
+KMNAME="kdeutils"
+inherit kde4-meta
+
+DESCRIPTION="KDE gpg keyring manager"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~x86"
+IUSE="debug doc"
+
+DEPEND="
+ >=kde-base/kdepimlibs-${PV}:${SLOT}[kdeprefix=]
+"
+RDEPEND="${DEPEND}
+ app-crypt/gnupg
+"
+
+PATCHES=( "${FILESDIR}/${P}-gnupg-2.0.10.patch" )