From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Stefan_Stefanovi=C4=87?= Subject: [PATCH][WIP] Elogind update Date: Sat, 10 Nov 2018 17:00:32 +0100 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="000000000000659755057a5191ec" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:48327) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gLVgp-0003pD-0Y for guix-devel@gnu.org; Sat, 10 Nov 2018 11:00:52 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gLVgn-00023Z-CC for guix-devel@gnu.org; Sat, 10 Nov 2018 11:00:50 -0500 Received: from mail-ot1-x334.google.com ([2607:f8b0:4864:20::334]:36571) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gLVgn-0001a3-2G for guix-devel@gnu.org; Sat, 10 Nov 2018 11:00:49 -0500 Received: by mail-ot1-x334.google.com with SMTP id k98so4381806otk.3 for ; Sat, 10 Nov 2018 08:00:34 -0800 (PST) List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: guix-devel --000000000000659755057a5191ec Content-Type: text/plain; charset="UTF-8" Hello, Guix. As I announced, here is patch that let's us update elogind. Note: This patch is work in progress. Please do not mind the lack of proper commit message. Since I expect more changes to this patch, I did not bother writing it. As I far as I know, the last work on elogind is by Marius Bakke: https://lists.gnu.org/archive/html/guix-patches/2018-01/msg00053.html The main reason why we did not update to newer versions of elogind is because system randomly failed to boot after power-off or reboot. Problem: elogind service fails to start after reboot. This issue started after elogind introduced ELOGIND_PID_FILE, "/run/elogind.pid" or in our case "/var/run/elogind.pid", with the commits: [7c401f91ca900a8ddb2718cbdf7c18dddbe69d59 Prep v231.6: Allow elogind to be daemonized using -D/--daemon option] [132565d5bc5f179532fe56c08abbba979e342a35 Prep v235: Allow elogind to daemonize itself with "-D|--daemon".] Version v232.4 didn't include the above problematic commits. Version v234.3 included 7c401f91ca900a8ddb2718cbdf7c18dddbe69d59. Thanks to the awesome work of current Elogind maintainer Yamakuzure (Sven) the problem is mostly solved. Please take a look at GitHub issue: https://github.com/elogind/elogind/issues/94 it will explain the problem better than I could. The next release will contain the 1st part of the solution. The installation of the signal handlers is fixed. PID file is deleted, when system powers-off. But the problem is with the stale PID found after a forced/abrupt reboot. As far as I know other distributions do not have to deal with this problem, because they mount tmpfs to /run and /var/run. We (Guix) need to find the 2nd part of the solution. WARNING: If you use the provided elogind-next patch please note that you may need to manually delete stale PID file "/var/run/elogind.pid", only in the special/rare case of forced/abrupt reboot. Failure to do so will prevent elogind and your system from starting! One thing that I noticed while testing other versions of elogind: If I run: sudo herd disable elogind sudo herd stop elogind the service is re-started by DBus daemon. but the status of elogind remains: Status of elogind: It is stopped. It is disabled. It seams that Shepherd does not check/detect if the process is stopped or running. Is this a bug? How should Shepherd deal/interact with DBus daemon since they both start services? How Should we deal with services started with user level privileges, possibly by user DBus session daemon (for example notification service or pulseaudio service)? If you have time please test this update, and/or comment. Do not forget to modify your desktop services to use elogind-next: (modify-services %desktop-services (elogind-service-type config => (elogind-configuration (inherit config) (elogind elogind-next))) ;; other modifications... ) If we find solution for the second part of the problem we could update elogind after next release v239.2, which should be out by the end of the next week. Stefan. --000000000000659755057a5191ec Content-Type: text/x-patch; charset="US-ASCII"; name="0001-gnu-Add-elogind-next.v2.patch" Content-Disposition: attachment; filename="0001-gnu-Add-elogind-next.v2.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: file0 RnJvbSAyMGRlYzY2MjI1MDM2YWFlNTRlMjhlNzU1ZDI4ZDJiZDFlMDVjMGViIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/U3RlZmFuPTIwU3RlZmFub3ZpPUM0PTg3Pz0g PHN0ZWZhbngyb3ZpY0BnbWFpbC5jb20+CkRhdGU6IFNhdCwgMTAgTm92IDIwMTggMTQ6Mjc6NTMg KzAxMDAKU3ViamVjdDogW1BBVENIXSBnbnU6IEFkZCBlbG9naW5kLW5leHQuCgotLS0KIGdudS9w YWNrYWdlcy9mcmVlZGVza3RvcC5zY20gfCAxMzAgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAxMzAgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBh L2dudS9wYWNrYWdlcy9mcmVlZGVza3RvcC5zY20gYi9nbnUvcGFja2FnZXMvZnJlZWRlc2t0b3Au c2NtCmluZGV4IDVjYzI2OTlhZC4uNzIzZDI2ODczIDEwMDY0NAotLS0gYS9nbnUvcGFja2FnZXMv ZnJlZWRlc2t0b3Auc2NtCisrKyBiL2dudS9wYWNrYWdlcy9mcmVlZGVza3RvcC5zY20KQEAgLTQz LDYgKzQzLDcgQEAKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgYWNsKQogICAjOnVzZS1t b2R1bGUgKGdudSBwYWNrYWdlcyBhZG1pbikKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMg YXV0b3Rvb2xzKQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBiYXNlKQogICAjOnVzZS1t b2R1bGUgKGdudSBwYWNrYWdlcyBiYXNoKQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBi b29zdCkKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgY2hlY2spCkBAIC02NSw2ICs2Niw3 IEBACiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGxpYnVzYikKICAgIzp1c2UtbW9kdWxl IChnbnUgcGFja2FnZXMgbGludXgpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIG00KQor ICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBwY3JlKQogICAjOnVzZS1tb2R1bGUgKGdudSBw YWNrYWdlcyBwZXJsKQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBwZXJsLWNoZWNrKQog ICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBwb2xraXQpCkBAIC03Miw2ICs3NCw3IEBACiAg ICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHBlcmwpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBh Y2thZ2VzIHBlcmwtY2hlY2spCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHB5dGhvbikK KyAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgc2VsaW51eCkKICAgIzp1c2UtbW9kdWxlIChn bnUgcGFja2FnZXMgdmFsZ3JpbmQpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHczbSkK ICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgd2ViKQpAQCAtMzQ2LDYgKzM0OSwxMzMgQEAg dGhlIG9yZy5mcmVlZGVza3RvcC5sb2dpbjEgaW50ZXJmYWNlIG92ZXIgdGhlIHN5c3RlbSBidXMs IGFsbG93aW5nIG90aGVyIHBhcnRzCiBvZiBhIHRoZSBzeXN0ZW0gdG8ga25vdyB3aGF0IHVzZXJz IGFyZSBsb2dnZWQgaW4sIGFuZCB3aGVyZS4iKQogICAgIChsaWNlbnNlIGxpY2Vuc2U6bGdwbDIu MSspKSkKIAorKGRlZmluZS1wdWJsaWMgZWxvZ2luZC1uZXh0CisgIChsZXQqICgoY29tbWl0ICIw NTU0ZGVmNTA4YjMzMjhiNzBhYWE2NDY0ODg2YWQ1MTIxOWI5Mzc5IikKKyAgICAgICAgIChyZXZp c2lvbiAiMiIpCisgICAgICAgICAodmVyc2lvbiAoZ2l0LXZlcnNpb24gIjI0MGEiIHJldmlzaW9u IGNvbW1pdCkpKQorICAgIChwYWNrYWdlCisgICAgICAobmFtZSAiZWxvZ2luZC1uZXh0IikKKyAg ICAgICh2ZXJzaW9uIHZlcnNpb24pCisgICAgICAoc291cmNlIChvcmlnaW4KKyAgICAgICAgICAg ICAgICAobWV0aG9kIGdpdC1mZXRjaCkKKyAgICAgICAgICAgICAgICAodXJpIChnaXQtcmVmZXJl bmNlCisgICAgICAgICAgICAgICAgICAgICAgKHVybCAiaHR0cHM6Ly9naXRodWIuY29tL2Vsb2dp bmQvZWxvZ2luZCIpCisgICAgICAgICAgICAgICAgICAgICAgKGNvbW1pdCBjb21taXQpKSkKKyAg ICAgICAgICAgICAgICAoZmlsZS1uYW1lIChnaXQtZmlsZS1uYW1lIG5hbWUgdmVyc2lvbikpCisg ICAgICAgICAgICAgICAgKHNoYTI1NgorICAgICAgICAgICAgICAgICAoYmFzZTMyCisgICAgICAg ICAgICAgICAgICAiMHh3d3JrZDIwendxc3ljaGY3NnlkOG44a3lkazV2c2dreDE3djNxcWJtaG5i eXEzMGE0MiIpKQorICAgICAgICAgICAgICAgIChtb2R1bGVzICcoKGd1aXggYnVpbGQgdXRpbHMp KSkKKyAgICAgICAgICAgICAgICAoc25pcHBldAorICAgICAgICAgICAgICAgICAnKGJlZ2luCisg ICAgICAgICAgICAgICAgICAgICh1c2UtbW9kdWxlcyAoZ3VpeCBidWlsZCB1dGlscykpCisgICAg ICAgICAgICAgICAgICAgIChzdWJzdGl0dXRlKiAibWVzb24uYnVpbGQiCisgICAgICAgICAgICAg ICAgICAgICAgOzsgQ2xlYW4gUlVOUEFUSC4KKyAgICAgICAgICAgICAgICAgICAgICAoKCJpbnN0 YWxsX3JwYXRoIDoiKSAiI2luc3RhbGxfcnBhdGggOiIpCisgICAgICAgICAgICAgICAgICAgICAg OzsgVE9ETzogVG8gcmVtb3ZlICRPUklHSU4uLi4KKyAgICAgICAgICAgICAgICAgICAgICA7OyAg ICAgICBmcm9tIFJVTlBBVEggb2YgbGliZXhlYyBleGVjdXRhYmxlczoKKyAgICAgICAgICAgICAg ICAgICAgICA7OyAgICAgICB3ZSBzaG91bGQgZGVjbGFyZSBhbmQgdXNlCisgICAgICAgICAgICAg ICAgICAgICAgOzsgICAgICAgc3JjL3NoYXJlL2xpYnNoYXJlZCBhcyBwcm9wZXIgZGVwZW5kZW5j eS4KKyAgICAgICAgICAgICAgICAgICAgICA7OyBGaXggcGt0dHlhZ2VudCBwYXRoOgorICAgICAg ICAgICAgICAgICAgICAgICgoImpvaW5fcGF0aHNcXChiaW5kaXIsICdwa3R0eWFnZW50J1xcKSIp CisgICAgICAgICAgICAgICAgICAgICAgICInXCIvcnVuL2N1cnJlbnQtc3lzdGVtL3Byb2ZpbGVi L2Jpbi9wa3R0eWFnZW50XCInIikpCisgICAgICAgICAgICAgICAgICAgIChzdWJzdGl0dXRlKiAi bWFuL21lc29uLmJ1aWxkIgorICAgICAgICAgICAgICAgICAgICAgIDs7IE5lY2Vzc2FyeSBiZWNh dXNlCisgICAgICAgICAgICAgICAgICAgICAgOzsgdGhlcmUgaXMgbm8gaW50ZXJuZXQgYWNjZXNz CisgICAgICAgICAgICAgICAgICAgICAgOzsgaW5zaWRlIHRoZSBidWlsZCBlbnZpcm9ubWVudC4K KyAgICAgICAgICAgICAgICAgICAgICAoKCJ4c2x0cHJvY19mbGFncyA9IFxcWyIpCisgICAgICAg ICAgICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kICJ4c2x0cHJvY19mbGFncyA9IFsiCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICctLW5vdmFsaWQnLCIp KSkKKyAgICAgICAgICAgICAgICAgICAgKHN1YnN0aXR1dGUqICJzcmMvbG9naW4vZWxvZ2luZC5j IgorICAgICAgICAgICAgICAgICAgICAgIDs7IENoYW5nZSBQSUQgZmlsZSBwYXRoLgorICAgICAg ICAgICAgICAgICAgICAgICgoIlwiL3J1bi9lbG9naW5kLnBpZFwiIikKKyAgICAgICAgICAgICAg ICAgICAgICAgIlwiL3Zhci9ydW4vZWxvZ2luZC5waWRcIiIpKQorICAgICAgICAgICAgICAgICAg ICAjdCkpKSkKKyAgICAgIChidWlsZC1zeXN0ZW0gbWVzb24tYnVpbGQtc3lzdGVtKQorICAgICAg KG91dHB1dHMgJygib3V0IikpCisgICAgICAoYXJndW1lbnRzCisgICAgICAgYCgjOnRlc3RzPyAj dAorICAgICAgICAgOzsgU29tZSB0ZXN0cyBmYWlsIG9ubHkgaW4gY2hyb290IGJ1aWxkIGVudmly b25tZW50OgorICAgICAgICAgOzsgLSBodHRwczovL2dpdGh1Yi5jb20vZWxvZ2luZC9lbG9naW5k L2lzc3Vlcy80NQorICAgICAgICAgOzsgU29tZSB0ZXN0cyBhc3N1bWUgZXhpc3RlbmNlIG9mIHN0 YW5kYXJkIGRpcmVjdG9yaWVzOgorICAgICAgICAgOzsgKioqIHRlc3RfY29weV9ieXRlcyBGQUlM UyBiZWNhdXNlIHRoZXJlIGlzIG5vCisgICAgICAgICA7OyAvdXNyL2xpYi9vcy1yZWxlYXNlIG9y IC9ldGMvb3MtcmVsZWFzZSBmaWxlCisgICAgICAgICA7OyAqKiogdGVzdF9jaGFzZV9zeW1saW5r cyBGQUlMUyBiZWNhdXNlIHRoZXJlIGlzIG5vCisgICAgICAgICA7OyAvdXNyIGRpcmVjdG9yeQor ICAgICAgICAgOzsKKyAgICAgICAgICM6Y29uZmlndXJlLWZsYWdzCisgICAgICAgICAobGV0KiAo KG91dCAoYXNzb2MtcmVmICVvdXRwdXRzICJvdXQiKSkKKyAgICAgICAgICAgICAgICAoc3lzY29u ZiAoc3RyaW5nLWFwcGVuZCBvdXQgIi9ldGMiKSkKKyAgICAgICAgICAgICAgICAobGliZXhlYyAo c3RyaW5nLWFwcGVuZCBvdXQgIi9saWJleGVjL2Vsb2dpbmQiKSkKKyAgICAgICAgICAgICAgICAo ZGJ1c3BvbGljeSAoc3RyaW5nLWFwcGVuZCBvdXQgIi9ldGMvZGJ1cy0xL3N5c3RlbS5kIikpCisg ICAgICAgICAgICAgICAgKHNoZXBoZXJkIChhc3NvYy1yZWYgJWJ1aWxkLWlucHV0cyAic2hlcGhl cmQiKSkKKyAgICAgICAgICAgICAgICAoaGFsdC1wYXRoIChzdHJpbmctYXBwZW5kIHNoZXBoZXJk ICIvc2Jpbi9oYWx0IikpCisgICAgICAgICAgICAgICAgKGtleGVjLXBhdGggIiIpIDs7IE5PVEU6 IFdlIG5lZWQgdG8gcGFja2FnZSBrZXhlYy10b29scywKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgOzsgICAgICAgb3Igc3VwcG9ydCBrZXhlYyB3aGl0IHNoZXBoZXJkLgorICAgICAg ICAgICAgICAgIChwb3dlcm9mZi1wYXRoIChzdHJpbmctYXBwZW5kIHNoZXBoZXJkICIvc2Jpbi9z aHV0ZG93biIpKQorICAgICAgICAgICAgICAgIChyZWJvb3QtcGF0aCAoc3RyaW5nLWFwcGVuZCBz aGVwaGVyZCAiL3NiaW4vcmVib290IikpKQorICAgICAgICAgICBgKCwoc3RyaW5nLWFwcGVuZAor ICAgICAgICAgICAgICAgIi1Ecm9vdHByZWZpeD0iIG91dCkKKyAgICAgICAgICAgICAsKHN0cmlu Zy1hcHBlbmQKKyAgICAgICAgICAgICAgICItRHN5c2NvbmZkaXI9IiBzeXNjb25mKQorICAgICAg ICAgICAgICwoc3RyaW5nLWFwcGVuZAorICAgICAgICAgICAgICAgIi1Ecm9vdGxpYmV4ZWNkaXI9 IiBsaWJleGVjKQorICAgICAgICAgICAgICwoc3RyaW5nLWFwcGVuZAorICAgICAgICAgICAgICAg Ii1EZGJ1c3BvbGljeWRpcj0iIGRidXNwb2xpY3kpCisgICAgICAgICAgICAgLChzdHJpbmctYXBw ZW5kCisgICAgICAgICAgICAgICAiLURjX2xpbmtfYXJncz0tV2wsLXJwYXRoPSIgbGliZXhlYykK KyAgICAgICAgICAgICAsKHN0cmluZy1hcHBlbmQKKyAgICAgICAgICAgICAgICItRGNwcF9saW5r X2FyZ3M9LVdsLC1ycGF0aD0iIGxpYmV4ZWMpCisgICAgICAgICAgICAgLChzdHJpbmctYXBwZW5k CisgICAgICAgICAgICAgICAiLURoYWx0LXBhdGg9IiBoYWx0LXBhdGgpCisgICAgICAgICAgICAg LChzdHJpbmctYXBwZW5kCisgICAgICAgICAgICAgICAiLURrZXhlYy1wYXRoPSIga2V4ZWMtcGF0 aCkKKyAgICAgICAgICAgICAsKHN0cmluZy1hcHBlbmQKKyAgICAgICAgICAgICAgICItRHBvd2Vy b2ZmLXBhdGg9IiBwb3dlcm9mZi1wYXRoKQorICAgICAgICAgICAgICwoc3RyaW5nLWFwcGVuZAor ICAgICAgICAgICAgICAgIi1EcmVib290LXBhdGg9IiByZWJvb3QtcGF0aCkKKyAgICAgICAgICAg ICAiLURjZ3JvdXAtY29udHJvbGxlcj1lbG9naW5kIgorICAgICAgICAgICAgIDs7IERpc2FibGUg c29tZSB0ZXN0cy4KKyAgICAgICAgICAgICAiLUR0ZXN0cz1mYWxzZSIKKyAgICAgICAgICAgICAi LURzbG93LXRlc3RzPWZhbHNlIikpCisgICAgICAgICAjOnBoYXNlcworICAgICAgICAgKG1vZGlm eS1waGFzZXMgJXN0YW5kYXJkLXBoYXNlcworICAgICAgICAgICAoZGVsZXRlICdib290c3RyYXAp KSkpCisgICAgICAobmF0aXZlLWlucHV0cworICAgICAgIGAoKCJkb2Nib29rLXhzbCIgLGRvY2Jv b2steHNsKQorICAgICAgICAgKCJkb2Nib29rLXhtbC00LjIiICxkb2Nib29rLXhtbC00LjIpCisg ICAgICAgICAoImRvY2Jvb2steG1sLTQuNSIgLGRvY2Jvb2steG1sKQorICAgICAgICAgKCJsaWJ4 bWwyIiAsbGlieG1sMikKKyAgICAgICAgICgibTQiICxtNCkKKyAgICAgICAgICgicGtnLWNvbmZp ZyIgLHBrZy1jb25maWcpCisgICAgICAgICAoInB5dGhvbiIgLHB5dGhvbikKKyAgICAgICAgICgi cHl0aG9uLWx4bWwiICxweXRob24tbHhtbCkKKyAgICAgICAgICgiZ2V0dGV4dCIgLGdldHRleHQt bWluaW1hbCkKKyAgICAgICAgICgiZ3BlcmYiICxncGVyZikKKyAgICAgICAgICgieHNsdHByb2Mi ICxsaWJ4c2x0KSkpCisgICAgICAoaW5wdXRzCisgICAgICAgYCgoImFjbCIgLGFjbCkKKyAgICAg ICAgICgiYXVkaXQiICxhdWRpdCkKKyAgICAgICAgICgiZGJ1cyIgLGRidXMpCisgICAgICAgICAo ImV1ZGV2IiAsZXVkZXYpCisgICAgICAgICAoImdsaWJjIiAsZ2xpYmMpCisgICAgICAgICAoImxp YmNhcCIgLGxpYmNhcCkKKyAgICAgICAgICgibGlic2VjY29tcCIgLGxpYnNlY2NvbXApCisgICAg ICAgICAoImxpYnNlbGludXgiICxsaWJzZWxpbnV4KQorICAgICAgICAgKCJsaW51eC1wYW0iICxs aW51eC1wYW0pCisgICAgICAgICAoInBjcmUyIiAscGNyZTIpCisgICAgICAgICAoInBvbGtpdCIg LHBvbGtpdCkKKyAgICAgICAgICgicHl0aG9uIiAscHl0aG9uKSA7OyBsaWJweXRob24gb3B0aW9u YWwgaW5wdXQKKyAgICAgICAgICgic2hlcGhlcmQiICxzaGVwaGVyZCkKKyAgICAgICAgICgidXRp bC1saW51eCIgLHV0aWwtbGludXgpKSkKKyAgICAgIChob21lLXBhZ2UgImh0dHBzOi8vZ2l0aHVi LmNvbS9lbG9naW5kL2Vsb2dpbmQiKQorICAgICAgKHN5bm9wc2lzICJFbG9naW5kIHByb3ZpZGVz IHVzZXIsIHNlYXQsIGFuZCBzZXNzaW9uIG1hbmFnZW1lbnQgc2VydmljZS4iKQorICAgICAgKGRl c2NyaXB0aW9uICJFbG9naW5kIGlzIHRoZSBzeXN0ZW1kIHByb2plY3QncyBcImxvZ2luZFwiIHNl cnZpY2UsCitleHRyYWN0ZWQgb3V0IGFzIGEgc2VwYXJhdGUgcHJvamVjdC4gIEVsb2dpbmQgaW50 ZWdyYXRlcyB3aXRoIFBBTSB0byBwcm92aWRlCit0aGUgb3JnLmZyZWVkZXNrdG9wLmxvZ2luMSBp bnRlcmZhY2Ugb3ZlciB0aGUgc3lzdGVtIGJ1cywgYWxsb3dpbmcgb3RoZXIgcGFydHMKK29mIGEg dGhlIHN5c3RlbSB0byBrbm93IHdoYXQgdXNlcnMgYXJlIGxvZ2dlZCBpbiwgYW5kIHdoZXJlLiIp CisgICAgICAobGljZW5zZSBsaWNlbnNlOmxncGwyLjErKSkpKQorCiAoZGVmaW5lLXB1YmxpYyBw YWNrYWdla2l0CiAgIChwYWNrYWdlCiAgICAgKG5hbWUgInBhY2thZ2VraXQiKQotLSAKMi4xOS4x Cgo= --000000000000659755057a5191ec--