diff options
author | Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org> | 2009-05-28 16:00:15 +0000 |
---|---|---|
committer | Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org> | 2009-05-28 16:00:15 +0000 |
commit | 1f291de4593d75101ba834900fbb47099fca65f4 (patch) | |
tree | 0517c981d78e9e92dc5b39a80369ce95732000be /kde-base | |
parent | arm/ia64/s390/sh/sparc stable wrt #270102 (diff) | |
download | historical-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/ChangeLog | 8 | ||||
-rw-r--r-- | kde-base/kgpg/Manifest | 4 | ||||
-rw-r--r-- | kde-base/kgpg/files/kgpg-4.2.3-gnupg-2.0.10.patch | 298 | ||||
-rw-r--r-- | kde-base/kgpg/kgpg-4.2.3-r1.ebuild | 21 |
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" ) |