From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 5AEE113877A for ; Mon, 28 Jul 2014 15:03:18 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 7836DE0E36; Mon, 28 Jul 2014 15:03:15 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id B9A0BE0E33 for ; Mon, 28 Jul 2014 15:03:14 +0000 (UTC) Received: from pomiot.lan (77-254-85-187.adsl.inetia.pl [77.254.85.187]) (using SSLv3 with cipher ECDHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: mgorny) by smtp.gentoo.org (Postfix) with ESMTPSA id 22BD933F6E2; Mon, 28 Jul 2014 15:03:12 +0000 (UTC) Date: Mon, 28 Jul 2014 17:03:30 +0200 From: =?ISO-8859-2?B?TWljaGGzIEfzcm55?= To: Subject: [gentoo-portage-dev] Pending changes to Portage ebuild & behavior Message-ID: <20140728170330.36ab3a59@pomiot.lan> Organization: Gentoo X-Mailer: Claws Mail 3.10.1 (GTK+ 2.24.24; x86_64-pc-linux-gnu) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-portage-dev@lists.gentoo.org Reply-to: gentoo-portage-dev@lists.gentoo.org MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; boundary="Sig_/jT219W_Tw5YpzjtmaKzMcyh"; protocol="application/pgp-signature" X-Archives-Salt: 273a4cde-f2b0-41da-ba61-3725717a3917 X-Archives-Hash: 9644c6c79f51da4616048d82165a8c37 --Sig_/jT219W_Tw5YpzjtmaKzMcyh Content-Type: multipart/mixed; boundary="MP_/qPdropeWzb=xtvJwpc386ol" --MP_/qPdropeWzb=xtvJwpc386ol Content-Type: text/plain; charset=ISO-8859-2 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Hello, everyone. Following the last meeting approval, I've started working on cleaning up sys-apps/portage, and making it use EAPI=3D5 and python-r1. While at it, I found a few difficulties, pretty closely related to how we install portage now. I believe we need to change that to make the ebuild cleaner. If someone has some spare time, I'd appreciate fixing the portage code. Current install --------------- 1. .py files are installed in /usr/lib/portage/pym and byte-compiled with active python interp, 2. emerge and other tools prepend /usr/lib/portage/pym to use those files [bytecode conflict possible], 3. site-packages contains only symlinks to .py files, 4. some of python modules in portage use paths relative to .py file to access /usr/lib/portage/bin. New install ----------- 1. no /usr/lib/portage/pym (it's not really necessary with python_targets), 2. all python modules & bytecode in site-packages, 3. emerge and other tools load portage from site-packages [proper bytecode used], 4. but python modules need to be able to locate /usr/lib/portage/bin somehow. What needs to be done --------------------- 1. either: a) we make portage capable of finding /usr/lib/portage/bin when .py files are in site-packages (but don't break running from checkout!), b) we install all of bin/* to site-packages as well (some python packages simply do that). 2. extra kudos for replacing that ugly Makefile with setup.py. Any thoughts? Anyone willing to do the work? Otherwise, I'll do it myself if nobody beats me up to it. Attaching work-in-progress portage-9999-r1 ebuild. Don't install it or your system will be broken :). --=20 Best regards, Micha=B3 G=F3rny --MP_/qPdropeWzb=xtvJwpc386ol Content-Type: text/plain Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=portage-9999-r1.ebuild IyBDb3B5cmlnaHQgMTk5OS0yMDE0IEdlbnRvbyBGb3VuZGF0aW9uDQojIERpc3RyaWJ1dGVkIHVu ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjINCiMgJEhl YWRlcjogL3Zhci9jdnNyb290L2dlbnRvby14ODYvc3lzLWFwcHMvcG9ydGFnZS9wb3J0YWdlLTk5 OTkuZWJ1aWxkLHYgMS45NiAyMDE0LzA3LzI2IDA5OjQ4OjQzIG1nb3JueSBFeHAgJA0KDQpFQVBJ PTUNClBZVEhPTl9DT01QQVQ9KCBweXB5IHB5dGhvbnszXzIsM18zLDNfNCwyXzd9ICkNClBZVEhP Tl9SRVFfVVNFPSdiemlwMigrKSxzc2woKyknDQoNCmluaGVyaXQgZ2l0LXIzIGV1dGlscyBtdWx0 aWxpYiBweXRob24tcjENCg0KREVTQ1JJUFRJT049IlBvcnRhZ2UgaXMgdGhlIHBhY2thZ2UgbWFu YWdlbWVudCBhbmQgZGlzdHJpYnV0aW9uIHN5c3RlbSBmb3IgR2VudG9vIg0KSE9NRVBBR0U9Imh0 dHA6Ly93d3cuZ2VudG9vLm9yZy9wcm9qL2VuL3BvcnRhZ2UvaW5kZXgueG1sIg0KTElDRU5TRT0i R1BMLTIiDQpLRVlXT1JEUz0iIg0KU0xPVD0iMCINCklVU0U9ImJ1aWxkIGRvYyBlcHlkb2MgK2lw YyBsaW5ndWFzX3J1IHNlbGludXggeGF0dHIiDQoNCiMgbWFrZS0zLjgyIGlzIGZvciBidWcgIzQ1 NTg1OA0KREVQRU5EPSIke3B5dGhvbl9kZXB9DQoJPj1zeXMtZGV2ZWwvbWFrZS0zLjgyDQoJPj1z eXMtYXBwcy9zZWQtNC4wLjUgc3lzLWRldmVsL3BhdGNoDQoJZG9jPyAoIGFwcC10ZXh0L3htbHRv IH5hcHAtdGV4dC9kb2Nib29rLXhtbC1kdGQtNC40ICkNCgllcHlkb2M/ICggPj1kZXYtcHl0aG9u L2VweWRvYy0yLjAgKSINCiMgUmVxdWlyZSBzYW5kYm94LTIuMiBmb3IgYnVnICMyODg4NjMuDQoj IEZvciB4YXR0ciwgd2UgY2FuIHNwYXduIGdldGZhdHRyIGFuZCBzZXRmYXR0ciBmcm9tIHN5cy1h cHBzL2F0dHIsIGJ1dCB0aGF0J3MNCiMgcXVpdGUgc2xvdywgc28gaXQncyBub3QgY29uc2lkZXJl ZCBpbiB0aGUgZGVwZW5kZW5jaWVzIGFzIGFuIGFsdGVybmF0aXZlIHRvDQojIHRvIHB5dGhvbi0z LjMgLyBweXhhdHRyLiBBbHNvLCB4YXR0ciBzdXBwb3J0IGlzIG9ubHkgdGVzdGVkIHdpdGggTGlu dXgsIHNvDQojIGZvciBub3csIGRvbid0IHB1bGwgaW4geGF0dHIgZGVwcyBmb3Igb3RoZXIga2Vy bmVscy4NCiMgRm9yIHdoaXJscG9vbCBoYXNoLCByZXF1aXJlIHB5dGhvbltzc2xdIG9yIHB5dGhv bi1taGFzaCBbWFhYXSAoYnVnICM0MjUwNDYpLg0KIyBGb3IgY29tcGdlbiwgcmVxdWlyZSBiYXNo W3JlYWRsaW5lXSAoYnVnICM0NDU1NzYpLg0KUkRFUEVORD0iJHtweXRob25fZGVwfQ0KCSFidWls ZD8gKCA+PXN5cy1hcHBzL3NlZC00LjAuNQ0KCQl8fCAoID49YXBwLXNoZWxscy9iYXNoLTQuMl9w MzdbcmVhZGxpbmVdICggPGFwcC1zaGVsbHMvYmFzaC00LjJfcDM3ID49YXBwLXNoZWxscy9iYXNo LTMuMl9wMTcgKSApDQoJCT49YXBwLWFkbWluL2VzZWxlY3QtMS4yDQoJCSR7UFlUSE9OX0RFUFN9 DQoJKQ0KCWVsaWJjX0ZyZWVCU0Q/ICggc3lzLWZyZWVic2QvZnJlZWJzZC1iaW4gKQ0KCWVsaWJj X2dsaWJjPyAoID49c3lzLWFwcHMvc2FuZGJveC0yLjIgKQ0KCWVsaWJjX3VjbGliYz8gKCA+PXN5 cy1hcHBzL3NhbmRib3gtMi4yICkNCgk+PWFwcC1taXNjL3BheC11dGlscy0wLjEuMTcNCglzZWxp bnV4PyAoIHx8ICggPj1zeXMtbGlicy9saWJzZWxpbnV4LTIuMC45NFtweXRob25dIDxzeXMtbGli cy9saWJzZWxpbnV4LTIuMC45NCApICkNCgl4YXR0cj8gKCBrZXJuZWxfbGludXg/ICgNCgkJJChw eXRob25fZ2VuX2NvbmRfZGVwICdkZXYtcHl0aG9uL3B5eGF0dHJbJHtQWVRIT05fVVNFREVQfV0n IHB5dGhvbnsyXzcsM18yfSBweXB5KQ0KCSkgKQ0KCSE8YXBwLXNoZWxscy9iYXNoLTMuMl9wMTcN CgkhPGFwcC1hZG1pbi9sb2dyb3RhdGUtMy44LjAiDQpQREVQRU5EPSINCgkhYnVpbGQ/ICgNCgkJ Pj1uZXQtbWlzYy9yc3luYy0yLjYuNA0KCQl1c2VybGFuZF9HTlU/ICggPj1zeXMtYXBwcy9jb3Jl dXRpbHMtNi40ICkNCgkpIg0KIyBjb3JldXRpbHMtNi40IHJkZXAgaXMgZm9yIGRhdGUgZm9ybWF0 IGluIGVtZXJnZS13ZWJyc3luYyAjMTY0NTMyDQojIE5PVEU6IEZFQVRVUkVTPWluc3RhbGxzb3Vy Y2VzIHJlcXVpcmVzIGRlYnVnZWRpdCBhbmQgcnN5bmMNCg0KU1JDX0FSQ0hJVkVTPSJodHRwOi8v ZGV2LmdlbnRvby5vcmcvfmRvbHNlbi9yZWxlYXNlcy9wb3J0YWdlIg0KDQpwcmVmaXhfc3JjX2Fy Y2hpdmVzKCkgew0KCWxvY2FsIHggeQ0KCWZvciB4IGluICR7QH07IGRvDQoJCWZvciB5IGluICR7 U1JDX0FSQ0hJVkVTfTsgZG8NCgkJCWVjaG8gJHt5fS8ke3h9DQoJCWRvbmUNCglkb25lDQp9DQoN CkVHSVRfUkVQT19VUkk9ImdpdDovL2dpdC5vdmVybGF5cy5nZW50b28ub3JnL3Byb2ovcG9ydGFn ZS5naXQNCglodHRwczovL2dpdGh1Yi5jb20vZ2VudG9vL3BvcnRhZ2UuZ2l0Ig0KRUdJVF9NSU5f Q0xPTkVfVFlQRT1zaW5nbGUNCg0Kc3JjX3ByZXBhcmUoKSB7DQoJZXBhdGNoX3VzZXINCg0KCWVp bmZvICJQcm9kdWNpbmcgQ2hhbmdlTG9nIGZyb20gR2l0IGhpc3RvcnkuLi4iDQoJZ2l0IGxvZyBl YmNmODk3NWIzN2E4YWFlOTczNWViNDkxYTliNGNiNjM1NDliZDVkXi4uIFwNCgkJPiAiJHtTfSIv Q2hhbmdlTG9nIHx8IGRpZQ0KDQoJbG9jYWwgX3ZlcnNpb249JChnaXQgZGVzY3JpYmUgLS10YWdz IHwgc2VkIC1lICdzfC1cKFswLTldXCtcKS0uXCskfF9wXDF8JykNCglfdmVyc2lvbj0ke192ZXJz aW9uOjF9DQoJZWluZm8gIlNldHRpbmcgcG9ydGFnZS5WRVJTSU9OIHRvICR7X3ZlcnNpb259IC4u LiINCglzZWQgLWUgInMvXlZFUlNJT04gPS4qL1ZFUlNJT04gPSAnJHtfdmVyc2lvbn0nLyIgLWkg cHltL3BvcnRhZ2UvX19pbml0X18ucHkgfHwgXA0KCQlkaWUgIkZhaWxlZCB0byBwYXRjaCBwb3J0 YWdlLlZFUlNJT04iDQoJc2VkIC1lICIxcy9WRVJTSU9OLyR7X3ZlcnNpb259LyIgLWkgZG9jL2Zy YWdtZW50L3ZlcnNpb24gfHwgXA0KCQlkaWUgIkZhaWxlZCB0byBwYXRjaCBWRVJTSU9OIGluIGRv Yy9mcmFnbWVudC92ZXJzaW9uIg0KCXNlZCAtZSAiMXMvVkVSU0lPTi8ke192ZXJzaW9ufS8iIC1p ICQoZmluZCBtYW4gLXR5cGUgZikgfHwgXA0KCQlkaWUgIkZhaWxlZCB0byBwYXRjaCBWRVJTSU9O IGluIG1hbiBwYWdlIGhlYWRlcnMiDQoNCglpZiAhIHVzZSBpcGMgOyB0aGVuDQoJCWVpbmZvICJE aXNhYmxpbmcgaXBjLi4uIg0KCQlzZWQgLWUgInM6X2VuYWJsZV9pcGNfZGFlbW9uID0gVHJ1ZTpf ZW5hYmxlX2lwY19kYWVtb24gPSBGYWxzZToiIFwNCgkJCS1pIHB5bS9fZW1lcmdlL0Fic3RyYWN0 RWJ1aWxkUHJvY2Vzcy5weSB8fCBcDQoJCQlkaWUgImZhaWxlZCB0byBwYXRjaCBBYnN0cmFjdEVi dWlsZFByb2Nlc3MucHkiDQoJZmkNCg0KCWlmIHVzZSB4YXR0ciAmJiB1c2Uga2VybmVsX2xpbnV4 IDsgdGhlbg0KCQllaW5mbyAiQWRkaW5nIEZFQVRVUkVTPXhhdHRyIHRvIG1ha2UuZ2xvYmFscyAu Li4iDQoJCWVjaG8gLWUgJ1xuRkVBVFVSRVM9IiR7RkVBVFVSRVN9IHhhdHRyIicgPj4gY25mL21h a2UuZ2xvYmFscyBcDQoJCQl8fCBkaWUgImZhaWxlZCB0byBhcHBlbmQgdG8gbWFrZS5nbG9iYWxz Ig0KCWZpDQoNCglpZiBbWyAtbiAke0VQUkVGSVh9IF1dIDsgdGhlbg0KCQllaW5mbyAiU2V0dGlu ZyBwb3J0YWdlLmNvbnN0LkVQUkVGSVggLi4uIg0KCQlzZWQgLWUgInN8XlwoU0FOREJPWF9CSU5B UllbWzpzcGFjZTpdXSo9W1s6c3BhY2U6XV0qXCJcKVwoL3Vzci9iaW4vc2FuZGJveFwiXCl8XFwx JHtFUFJFRklYfVxcMnwiIFwNCgkJCS1lICJzfF5cKEZBS0VST09UX0JJTkFSWVtbOnNwYWNlOl1d Kj1bWzpzcGFjZTpdXSpcIlwpXCgvdXNyL2Jpbi9mYWtlcm9vdFwiXCl8XFwxJHtFUFJFRklYfVxc MnwiIFwNCgkJCS1lICJzfF5cKEJBU0hfQklOQVJZW1s6c3BhY2U6XV0qPVtbOnNwYWNlOl1dKlwi XClcKC9iaW4vYmFzaFwiXCl8XFwxJHtFUFJFRklYfVxcMnwiIFwNCgkJCS1lICJzfF5cKE1PVkVf QklOQVJZW1s6c3BhY2U6XV0qPVtbOnNwYWNlOl1dKlwiXClcKC9iaW4vbXZcIlwpfFxcMSR7RVBS RUZJWH1cXDJ8IiBcDQoJCQktZSAic3xeXChQUkVMSU5LX0JJTkFSWVtbOnNwYWNlOl1dKj1bWzpz cGFjZTpdXSpcIlwpXCgvdXNyL3NiaW4vcHJlbGlua1wiXCl8XFwxJHtFUFJFRklYfVxcMnwiIFwN CgkJCS1lICJzfF5cKEVQUkVGSVhbWzpzcGFjZTpdXSo9W1s6c3BhY2U6XV0qXCJcKS4qfFxcMSR7 RVBSRUZJWH1cInwiIFwNCgkJCS1pIHB5bS9wb3J0YWdlL2NvbnN0LnB5IHx8IFwNCgkJCWRpZSAi RmFpbGVkIHRvIHBhdGNoIHBvcnRhZ2UuY29uc3QuRVBSRUZJWCINCg0KCQllaW5mbyAiUHJlZml4 aW5nIHNoZWJhbmdzIC4uLiINCgkJd2hpbGUgcmVhZCAtciAtZCAkJ1wwJyA7IGRvDQoJCQlsb2Nh bCBzaGViYW5nPSQoaGVhZCAtbjEgIiRSRVBMWSIpDQoJCQlpZiBbWyAke3NoZWJhbmd9ID09ICIj ISIqICYmICEgJHtzaGViYW5nfSA9PSAiIyEke0VQUkVGSVh9LyIqIF1dIDsgdGhlbg0KCQkJCXNl ZCAtaSAtZSAiMXM6Lio6IyEke0VQUkVGSVh9JHtzaGViYW5nOjJ9OiIgIiRSRVBMWSIgfHwgXA0K CQkJCQlkaWUgInNlZCBmYWlsZWQiDQoJCQlmaQ0KCQlkb25lIDwgPChmaW5kIC4gLXR5cGUgZiAt cHJpbnQwKQ0KDQoJCWVpbmZvICJBZGp1c3RpbmcgbWFrZS5nbG9iYWxzIC4uLiINCgkJc2VkIC1l ICJzfFwoL3Vzci9wb3J0YWdlXCl8JHtFUFJFRklYfVxcMXwiIFwNCgkJCS1lICJzfF5cKFBPUlRB R0VfVE1QRElSPVwiXClcKC92YXIvdG1wXCJcKXxcXDEke0VQUkVGSVh9XFwyfCIgXA0KCQkJLWkg Y25mL21ha2UuZ2xvYmFscyB8fCBkaWUgInNlZCBmYWlsZWQiDQoNCgkJZWluZm8gIkFkanVzdGlu ZyByZXBvcy5jb25mIC4uLiINCgkJc2VkIC1lICJzfF5cKG1haW4tcmVwbyA9IFwpLip8XFwxZ2Vu dG9vX3ByZWZpeHwiIFwNCgkJCS1lICJzfF5cXFtnZW50b29cXF18W2dlbnRvb19wcmVmaXhdfCIg XA0KCQkJLWUgInN8XlwobG9jYXRpb24gPSBcKVwoL3Vzci9wb3J0YWdlXCl8XFwxJHtFUFJFRklY fVxcMnwiIFwNCgkJCS1lICJzfF5cKHN5bmMtdXJpID0gXCkuKnxcXDFyc3luYzovL3ByZWZpeC5n ZW50b29leHBlcmltZW50YWwub3JnL2dlbnRvby1wb3J0YWdlLXByZWZpeHwiIFwNCgkJCS1pIGNu Zi9yZXBvcy5jb25mIHx8IGRpZSAic2VkIGZhaWxlZCINCg0KCQllaW5mbyAiQWRkaW5nIEZFQVRV UkVTPWZvcmNlLXByZWZpeCB0byBtYWtlLmdsb2JhbHMgLi4uIg0KCQllY2hvIC1lICdcbkZFQVRV UkVTPSIke0ZFQVRVUkVTfSBmb3JjZS1wcmVmaXgiJyA+PiBjbmYvbWFrZS5nbG9iYWxzIFwNCgkJ CXx8IGRpZSAiZmFpbGVkIHRvIGFwcGVuZCB0byBtYWtlLmdsb2JhbHMiDQoJZmkNCg0KCWNkICIk e1N9L2NuZiIgfHwgZGllDQoJaWYgWyAtZiAibWFrZS5jb25mLmV4YW1wbGUuJHtBUkNIfSIuZGlm ZiBdOyB0aGVuDQoJCXBhdGNoIG1ha2UuY29uZi5leGFtcGxlICJtYWtlLmNvbmYuZXhhbXBsZS4k e0FSQ0h9Ii5kaWZmIHx8IFwNCgkJCWRpZSAiRmFpbGVkIHRvIHBhdGNoIG1ha2UuY29uZi5leGFt cGxlIg0KCWVsc2UNCgkJZWVycm9yICIiDQoJCWVlcnJvciAiUG9ydGFnZSBkb2VzIG5vdCBoYXZl IGFuIGFyY2gtc3BlY2lmaWMgY29uZmlndXJhdGlvbiBmb3IgdGhpcyBhcmNoLiINCgkJZWVycm9y ICJQbGVhc2Ugbm90aWZ5IHRoZSBhcmNoIG1haW50YWluZXIgYWJvdXQgdGhpcyBpc3N1ZS4gVXNp bmcgZ2VuZXJpYy4iDQoJCWVlcnJvciAiIg0KCWZpDQp9DQoNCnNyY19jb21waWxlKCkgew0KCXB5 dGhvbl9zZXR1cA0KDQoJaWYgdXNlIGRvYzsgdGhlbg0KCQllbWFrZSBkb2Nib29rIHx8IGRpZQ0K CWZpDQoNCglpZiB1c2UgZXB5ZG9jOyB0aGVuDQoJCWVpbmZvICJHZW5lcmF0aW5nIGFwaSBkb2Nz Ig0KCQllbWFrZSBlcHlkb2MgfHwgZGllDQoJZmkNCn0NCg0Kc3JjX3Rlc3QoKSB7DQoJLi9ydW50 ZXN0cy5zaCB8fCBkaWUgInRlc3RzIGZhaWxlZCINCn0NCg0Kc3JjX2luc3RhbGwoKSB7DQoJZW1h a2UgREVTVERJUj0iJHtEfSIgXA0KCQlzeXNjb25mZGlyPSIke0VQUkVGSVh9L2V0YyIgXA0KCQlw cmVmaXg9IiR7RVBSRUZJWH0vdXNyIiBcDQoJCWluc3RhbGwNCg0KCXB5dGhvbl9pbnN0YWxsKCkg ew0KCQkjIFRoZSBNYWtlZmlsZSBpbnRlbmRzIG9uIHVzaW5nIC91c3IvbGliL3BvcnRhZ2UvcHlt LCBzbyBtb3ZlIGZpbGVzLg0KCQlweXRob25fZG9tb2R1bGUgIiR7RUQlL30iL3Vzci9saWIvcG9y dGFnZS9weW0vKg0KCQlweXRob25fb3B0aW1pemUNCgl9DQoJcHl0aG9uX3BhcmFsbGVsX2ZvcmVh Y2hfaW1wbCBweXRob25faW5zdGFsbA0KDQoJIyBLaWxsIHRoZSBsZWdhY3kgbG9jYXRpb24gdG8g YXZvaWQgY3JlYXRpbmcgY2FjaGVzIHRoZXJlLg0KCXJtIC1yICIke0VEJS99Ii91c3IvbGliL3Bv cnRhZ2UvcHltIHx8IGRpZQ0KDQoJIyBOb3csIHdyYXAgdGhlIHNjcmlwdHMuDQoJbG9jYWwgZiBz aGViYW5nDQoJZm9yIGYgaW4gIiR7RUQlL30iL3Vzci9iaW4vKjsgZG8NCgkJcmVhZCBzaGViYW5n IDwgIiR7Zn0iDQoJCVtbICR7c2hlYmFuZ30gPT0gKnB5dGhvbiogXV0gJiYgcHl0aG9uX3JlcGxp Y2F0ZV9zY3JpcHQgIiR7Zn0iDQoJZG9uZQ0KfQ0KDQpjdXJyZW50X3B5dGhvbl9oYXNfeGF0dHIo KSB7DQoJW1sgJCgiJHtQWVRIT059IiAtYyAnaW1wb3J0IHN5cyA7IHN5cy5zdGRvdXQud3JpdGUo c3lzLmhleHZlcnNpb24gPj0gMHgzMDMwMDAwIGFuZCAieWVzIiBvciAibm8iKScpID0geWVzIF1d IHx8IFwNCgkiJHtQWVRIT059IiAtYyAnaW1wb3J0IHhhdHRyJyAyPi9kZXYvbnVsbA0KfQ0KDQpw a2dfcHJlaW5zdCgpIHsNCglpZiBbWyAkUk9PVCA9PSAvIF1dIDsgdGhlbg0KCQkjIFJ1biBzb21l IG1pbmltYWwgdGVzdHMgYXMgYSBzYW5pdHkgY2hlY2suDQoJCWxvY2FsIHRlc3RfcnVubmVyPSQo ZmluZCAiJHtFRH0iIC1uYW1lIHJ1blRlc3RzKQ0KCQlpZiBbWyAtbiAkdGVzdF9ydW5uZXIgJiYg LXggJHRlc3RfcnVubmVyIF1dIDsgdGhlbg0KCQkJZWluZm8gIlJ1bm5pbmcgcHJlaW5zdCBzYW5p dHkgdGVzdHMuLi4iDQoJCQkiJHRlc3RfcnVubmVyIiB8fCBkaWUgInByZWluc3Qgc2FuaXR5IHRl c3RzIGZhaWxlZCINCgkJZmkNCglmaQ0KDQoJaWYgdXNlIHhhdHRyICYmICEgY3VycmVudF9weXRo b25faGFzX3hhdHRyIDsgdGhlbg0KCQlld2FybiAiRm9yIG9wdGltYWwgcGVyZm9ybWFuY2UgaW4g eGF0dHIgaGFuZGxpbmcsIGluc3RhbGwiDQoJCWV3YXJuICJkZXYtcHl0aG9uL3B5eGF0dHIsIG9y IHVzZSBQeXRob24gMy4zIG9yIG5ld2VyLiINCglmaQ0KDQoJIyBlbG9nIGRpciBtdXN0IGV4aXN0 IHRvIGF2b2lkIGxvZ3JvdGF0ZSBlcnJvciBmb3IgYnVnICM0MTU5MTEuDQoJIyBUaGlzIGNvZGUg cnVucyBpbiBwcmVpbnN0IGluIG9yZGVyIHRvIGJ5cGFzcyB0aGUgbWFwcGluZyBvZg0KCSMgcG9y dGFnZTpwb3J0YWdlIHRvIHJvb3Q6cm9vdCB3aGljaCBoYXBwZW5zIGFmdGVyIHNyY19pbnN0YWxs Lg0KCWtlZXBkaXIgL3Zhci9sb2cvcG9ydGFnZS9lbG9nDQoJIyBUaGlzIGlzIGFsbG93ZWQgdG8g ZmFpbCBpZiB0aGUgdXNlci9ncm91cCBhcmUgaW52YWxpZCBmb3IgcHJlZml4IHVzZXJzLg0KCWlm IGNob3duIHBvcnRhZ2U6cG9ydGFnZSAiJHtFRH0idmFyL2xvZy9wb3J0YWdleywvZWxvZ30gMj4v ZGV2L251bGwgOyB0aGVuDQoJCWNobW9kIGcrcyx1Zytyd3ggIiR7RUR9InZhci9sb2cvcG9ydGFn ZXssL2Vsb2d9DQoJZmkNCn0NCg== --MP_/qPdropeWzb=xtvJwpc386ol-- --Sig_/jT219W_Tw5YpzjtmaKzMcyh Content-Type: application/pgp-signature; name=signature.asc Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQJ8BAEBCgBmBQJT1mZDXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ2REJCMDdDQzRGMERBRDA2RUEwQUZFNDFC MDdBMUFFQUVGQjQ0NjRFAAoJELB6GurvtEZOnZ8P/2tlqkeXnQHX2neR+P8IAvqS jCMcSoR/9z7LizLe6EIII50zj8icfHzB12LU52+I5ORPJBVfHsSiAfYlHL7nu8zY 6ZUOf1i4+ziaAq2hX6QF9MzYpUx5M8gKcV35TgecZjRio9l+a3kPNQkuMoobwtE+ 9T9TGud0wQEX+WWiIxxgrlapaz6G1xb/VZNj5nrQyoiVUZKf8XjONivq1tTlVU80 ZAd367c+P3U3ppmlzcWspXmXeWUupN0rw1q7catCNwNtcd9v28OnI1Cmt6n8bXxA PKX2SqqsllLrLhd9G+2lpLKogHO1jZznhqfgBWAQYuwRJKSYuEi5eFS0pX04VUDe Y/3kzXSsvYCKzgfViVCnAoEY+Y4wS5+scbSfuoO7kYOAmWzT8MI/q6MFVEP55eoU 81vJUSj3I1fsMHdGfMG0ReJ+lJEEy8lGJ39x3m3r/yYGiBhl/GeC0y/mz0Dt9SP3 1tfL4RhYc4Bk4sL3nfDeT+LZA8RXY+UkbmqZ8N1loNpJD1opWTv8SkLlt4dSbGkk q4WsPdVPEwKo2CHhx726M3oUIBjYfKgxnHgRWcOhhx7vP513Sh6NLRlEKNT37KZe 8Erd9CWWFrN7ALN3ec0QVvnqOSw5HlbTH9ulwCVPr/pPQtzwY36rW6eGWH6VjsfE 7JpN7yZ/pJq61aFd20Fo =o8aD -----END PGP SIGNATURE----- --Sig_/jT219W_Tw5YpzjtmaKzMcyh--