From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id kIqXDJ2VqV7tUAAA0tVLHw (envelope-from ) for ; Wed, 29 Apr 2020 14:56:29 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id kNqzE6aVqV5iegAAbx9fmQ (envelope-from ) for ; Wed, 29 Apr 2020 14:56:38 +0000 Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:470:142::17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 910AA9400DE for ; Wed, 29 Apr 2020 14:56:36 +0000 (UTC) Received: from localhost ([::1]:41542 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jTo8a-0005yE-AP for larch@yhetil.org; Wed, 29 Apr 2020 10:56:36 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:52320) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jTo83-0005qT-BN for bug-guix@gnu.org; Wed, 29 Apr 2020 10:56:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jTo82-0006PH-Bl for bug-guix@gnu.org; Wed, 29 Apr 2020 10:56:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:60946) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jTo81-0006PC-TC for bug-guix@gnu.org; Wed, 29 Apr 2020 10:56:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jTo81-0008VX-RW for bug-guix@gnu.org; Wed, 29 Apr 2020 10:56:01 -0400 X-Loop: help-debbugs@gnu.org Subject: bug#40710: WIP solution References: In-Reply-To: Resent-From: goodoldpaul@autistici.org Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Wed, 29 Apr 2020 14:56:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 40710 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 40710@debbugs.gnu.org Received: via spool by 40710-submit@debbugs.gnu.org id=B40710.158817211832632 (code B ref 40710); Wed, 29 Apr 2020 14:56:01 +0000 Received: (at 40710) by debbugs.gnu.org; 29 Apr 2020 14:55:18 +0000 Received: from localhost ([127.0.0.1]:44259 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jTo7K-0008UG-4v for submit@debbugs.gnu.org; Wed, 29 Apr 2020 10:55:18 -0400 Received: from devianza.investici.org ([198.167.222.108]:47315) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jTo7H-0008U5-Ex for 40710@debbugs.gnu.org; Wed, 29 Apr 2020 10:55:17 -0400 Received: from 1.mail-backend.investici.org (unknown [10.0.0.11]) by devianza.investici.org (Postfix) with ESMTP id 04452E060C for <40710@debbugs.gnu.org>; Wed, 29 Apr 2020 14:55:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=autistici.org; s=stigmate; t=1588172114; bh=oGxjgbgqirTDwsi3jUhQ/nnHBhLpNAooIfZnKjzjNpw=; h=Date:From:To:Subject:From; b=sebg0xjoMXLV5FnZCnLz2Oazq0UPFRVCSwGGNdKHMNqNrCYEBGCq6qmPGX9FSVlIY 5Fu/vwshpEAY/o8rqesN9RAxlELhDcj8ycGRsZNg/4PjEjKEPbQv2BflK2DmKMst+I Ym3KmgXg5YpeTrmkMPfX16vhLU/ajWm91EZim37U= Received: from 1.webmail.investici.org (localhost [127.0.0.1]) (Authenticated sender: goodoldpaul@autistici.org) by 1.mail-backend.investici.org (Postfix) with ESMTPA id DC79CBEE39 for <40710@debbugs.gnu.org>; Wed, 29 Apr 2020 14:55:13 +0000 (UTC) MIME-Version: 1.0 Date: Wed, 29 Apr 2020 14:55:13 +0000 From: goodoldpaul@autistici.org User-Agent: Roundcube Webmail Message-ID: <817d2cfae792a3a9483339cbd79e277c@autistici.org> X-Sender: goodoldpaul@autistici.org Content-Type: multipart/mixed; boundary="=_a7bdf4d1c7e26921f3448702ccff0b8e" X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-Received-From: 209.51.188.43 X-BeenThere: bug-guix@gnu.org List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+larch=yhetil.org@gnu.org Sender: "bug-Guix" X-Scanner: scn0 X-Spam-Score: 0.10 Authentication-Results: aspmx1.migadu.com; dkim=fail (rsa verify failed) header.d=autistici.org header.s=stigmate header.b=sebg0xjo; dmarc=none; spf=pass (aspmx1.migadu.com: domain of bug-guix-bounces@gnu.org designates 2001:470:142::17 as permitted sender) smtp.mailfrom=bug-guix-bounces@gnu.org X-Scan-Result: default: False [0.10 / 13.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; GENERIC_REPUTATION(0.00)[-0.49336922753333]; XM_UA_NO_VERSION(0.01)[]; DWL_DNSWL_FAIL(0.00)[2001:470:142::17:server fail]; R_SPF_ALLOW(-0.20)[+ip6:2001:470:142::/48:c]; IP_REPUTATION_HAM(0.00)[asn: 22989(0.17), country: US(-0.00), ip: 2001:470:142::17(-0.49)]; HAS_ATTACHMENT(0.00)[]; TO_DN_NONE(0.00)[]; R_DKIM_REJECT(1.00)[autistici.org:s=stigmate]; MX_GOOD(-0.50)[cached: eggs.gnu.org]; MIME_BASE64_TEXT(0.10)[]; DKIM_TRACE(0.00)[autistici.org:-]; MAILLIST(-0.20)[mailman]; FORGED_RECIPIENTS_MAILLIST(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:+,3:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:22989, ipnet:2001:470:142::/48, country:US]; MID_RHS_MATCH_FROM(0.00)[]; TAGGED_FROM(0.00)[larch=yhetil.org]; FROM_NEQ_ENVFROM(0.00)[goodoldpaul@autistici.org,bug-guix-bounces@gnu.org]; ARC_NA(0.00)[]; URIBL_BLOCKED(0.00)[gnu.org:email,npmjs.com:url,fsfe.org:email,autistici.org:email]; MIME_GOOD(-0.10)[multipart/mixed,text/plain,text/x-diff]; PREVIOUSLY_DELIVERED(0.00)[40710@debbugs.gnu.org]; DMARC_NA(0.00)[autistici.org]; HAS_LIST_UNSUB(-0.01)[]; RCPT_COUNT_ONE(0.00)[1]; DNSWL_BLOCKED(0.00)[2001:470:142::17:from]; FROM_NO_DN(0.00)[]; RCVD_COUNT_SEVEN(0.00)[10]; FORGED_SENDER_MAILLIST(0.00)[] X-TUID: U5f7OrOdfe3K --=_a7bdf4d1c7e26921f3448702ccff0b8e Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed Hello everybody, I'm attempting to implement the discussed changes. I think these patches come pretty close but being my first contribution to Guix's core I would like to ask some feedback before submitting these patches with some trivial mistake. I tried to base my implementation on [0]. The first patch adds "globstar" support to (guix glob), namely the ability of recursively matching subdirectories in a glob pattern (i.e. "foo/**/bar.scm" matches both "foo/bar.scm" and "foo/baz/bar.scm"). The second patch adds (guix glob) to the imported modules of node-build-system and uses that to parse glob patterns in the "files" array of a package.json and then install all the matching files. I tested the patches by verifying that ./pre-inst-env guix build -K node-semver node-util-deprecate node-statsd-parser node-stack-trace node-oop node-mersenne node-long-stack-traces node-far node-env-variable node-color-name runs without error and by running make check TESTS="tests/glob.scm" . Do you have any feedback/advice? Thanks, Giacomo [0]: https://docs.npmjs.com/files/package.json#files --=_a7bdf4d1c7e26921f3448702ccff0b8e Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=0001-guix-Add-globstar-support.patch Content-Disposition: attachment; filename=0001-guix-Add-globstar-support.patch; size=2965 RnJvbSAyYWFlZDRhZjNmMTcxZmEwYTVkMTgxN2Q5ZTA5MDJjZjEwODhiMWE3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBHaWFjb21vIExlaWRpIDxnb29kb2xkcGF1bEBhdXRpc3RpY2ku b3JnPgpEYXRlOiBXZWQsIDI5IEFwciAyMDIwIDE1OjU5OjQ4ICswMjAwClN1YmplY3Q6IFtQQVRD SCAxLzJdIGd1aXg6IEFkZCBnbG9ic3RhciBzdXBwb3J0LgoKKiBndWl4L2dsb2Iuc2NtIChzdHJp bmctPnNnbG9iKQooZ2xvYi1tYXRjaD8pOiBBZGQgZ2xvYnN0YXIgc3VwcG9ydC4KKiB0ZXN0cy9n bG9iLnNjbTogVXBkYXRlIGFjY29yZGluZ2x5LgotLS0KIGd1aXgvZ2xvYi5zY20gIHwgMTMgKysr KysrKysrKysrKwogdGVzdHMvZ2xvYi5zY20gfCAgOCArKysrKystLQogMiBmaWxlcyBjaGFuZ2Vk LCAxOSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2d1aXgvZ2xv Yi5zY20gYi9ndWl4L2dsb2Iuc2NtCmluZGV4IGE5ZmM3NDQ4MDIuLjliNzk2ZmZkOGYgMTAwNjQ0 Ci0tLSBhL2d1aXgvZ2xvYi5zY20KKysrIGIvZ3VpeC9nbG9iLnNjbQpAQCAtMSw1ICsxLDYgQEAK IDs7OyBHTlUgR3VpeCAtLS0gRnVuY3Rpb25hbCBwYWNrYWdlIG1hbmFnZW1lbnQgZm9yIEdOVQog Ozs7IENvcHlyaWdodCDCqSAyMDE4IEx1ZG92aWMgQ291cnTDqHMgPGx1ZG9AZ251Lm9yZz4KKzs7 OyBDb3B5cmlnaHQgwqkgMjAyMCBHaWFjb21vIExlaWRpIDxnb29kb2xkcGF1bEBhdXRpc3RpY2ku b3JnPgogOzs7CiA7OzsgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEd1aXguCiA7OzsKQEAgLTYx LDYgKzYyLDExIEBAIFNUUiwgYSBnbG9iIHBhdHRlcm4gc3VjaCBhcyBcImZvbypcIiBvciBcImZv bz8/YmFyXCIuIgogICAgICAgIChmbGF0dGVuIChyZXZlcnNlIChpZiAobnVsbD8gcGVuZGluZykK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChjb25zLXN0cmluZyBwZW5kaW5nIHJlc3VsdCkpKSkpCisgICAgICAoKCNcKiAj XCogI1wvIC4gcmVzdCkKKyAgICAgICAoaWYgKHplcm8/IGJyYWNrZXRzKQorICAgICAgICAgICAo bG9vcCByZXN0ICcoKSAwCisgICAgICAgICAgICAgICAgIChjb25zKiAnKiovIChjb25zLXN0cmlu ZyBwZW5kaW5nIHJlc3VsdCkpKQorICAgICAgICAgICAobG9vcCByZXN0IChjb25zICcqKi8gcGVu ZGluZykgYnJhY2tldHMgcmVzdWx0KSkpCiAgICAgICAoKChhbmQgY2hyIChvciAjXD8gI1wqKSkg LiByZXN0KQogICAgICAgIChsZXQgKCh3aWxkY2FyZCAobWF0Y2ggY2hyCiAgICAgICAgICAgICAg ICAgICAgICAgICAgKCNcPyAnPykKQEAgLTEyMSw2ICsxMjcsMTMgQEAgU1RSLCBhIGdsb2IgcGF0 dGVybiBzdWNoIGFzIFwiZm9vKlwiIG9yIFwiZm9vPz9iYXJcIi4iCiAgICAgICAoc3RyaW5nLW51 bGw/IHN0cikpCiAgICAgICgoJyopCiAgICAgICAjdCkKKyAgICAgKCgnKiovIHN1ZmZpeCAuIHJl c3QpCisgICAgICAobGV0ICgocmVzdCAoaWYgKGVxPyAnKiBzdWZmaXgpIChjZHIgcmVzdCkgcmVz dCkpCisgICAgICAgICAgICAgIChzdWZmaXggKGlmIChlcT8gJyogc3VmZml4KSAoY2FyIHJlc3Qp IHN1ZmZpeCkpKQorICAgICAgICAgIChtYXRjaCAoc3RyaW5nLWNvbnRhaW5zIHN0ciBzdWZmaXgp CisgICAgICAgICAgICAoI2YgICAgI2YpCisgICAgICAgICAgICAoaW5kZXggKGxvb3AgcmVzdCAo c3RyaW5nLWRyb3Agc3RyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKCsgaW5kZXggKHN0cmluZy1sZW5ndGggc3VmZml4KSkpKSkpKSkKICAgICAgKCgnKiBzdWZm aXggLiByZXN0KQogICAgICAgKG1hdGNoIChzdHJpbmctY29udGFpbnMgc3RyIHN1ZmZpeCkKICAg ICAgICAgKCNmICAgICNmKQpkaWZmIC0tZ2l0IGEvdGVzdHMvZ2xvYi5zY20gYi90ZXN0cy9nbG9i LnNjbQppbmRleCAzMTM0MDY5Nzg5Li4yYTVhNDBjM2M2IDEwMDY0NAotLS0gYS90ZXN0cy9nbG9i LnNjbQorKysgYi90ZXN0cy9nbG9iLnNjbQpAQCAtMSw1ICsxLDYgQEAKIDs7OyBHTlUgR3VpeCAt LS0gRnVuY3Rpb25hbCBwYWNrYWdlIG1hbmFnZW1lbnQgZm9yIEdOVQogOzs7IENvcHlyaWdodCDC qSAyMDE4IEx1ZG92aWMgQ291cnTDqHMgPGx1ZG9AZ251Lm9yZz4KKzs7OyBDb3B5cmlnaHQgwqkg MjAyMCBHaWFjb21vIExlaWRpIDxnb29kb2xkcGF1bEBhdXRpc3RpY2kub3JnPgogOzs7CiA7Ozsg VGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEd1aXguCiA7OzsKQEAgLTUzLDcgKzU0LDggQEAKICAi Zm9vW2FiY11iYXIiID0+ICcoImZvbyIgKHNldCAjXGEgI1xiICNcYykgImJhciIpCiAgImZvb1th W2JdY11iYXIiID0+ICcoImZvbyIgKHNldCAjXGEgI1xbICNcYiAjXF0gI1xjKSAiYmFyIikKICAi WzEyM114IiA9PiAnKChzZXQgI1wxICNcMiAjXDMpICJ4IikKLSAiW2Etel0iID0+ICcoKHJhbmdl ICNcYSAjXHopKSkKKyAiW2Etel0iID0+ICcoKHJhbmdlICNcYSAjXHopKQorICIqKi8qLnNjbSIg PT4gJygqKi8gKiAiLnNjbSIpKQogCiAodGVzdC1nbG9iLW1hdGNoCiAgKCJmb28iIG1hdGNoZXMg ImZvbyIgKGFuZCBub3QgImZvb2JhciIgImJhcmZvbyIpKQpAQCAtNjQsNiArNjYsOCBAQAogICgi YWJbMC05XWMiIG1hdGNoZXMgImFiMGMiICJhYjdjIiAiYWI5YyIKICAgKGFuZCBub3QgImFiLWMi ICJhYjAwYyIgImFiMyIpKQogICgiYWJbY2RlZmddIiBtYXRjaGVzICJhYmMiICJhYmQiICJhYmci Ci0gIChhbmQgbm90ICJhYmgiICJhYmNkIiAiYWJbIikpKQorICAoYW5kIG5vdCAiYWJoIiAiYWJj ZCIgImFiWyIpKQorICgiZm9vLyoqLyouc2NtIiBtYXRjaGVzICJmb28vYmFyL2Jhei5zY20iICJm b28vYmFyLnNjbSIgImZvby9iYXIvYmF6L3phYi5zY20iCisgIChhbmQgbm90ICJmb28vYmFyL2Jh ei5qYXZhIiAiZm9vL2Jhci5zbWMiKSkpCiAKICh0ZXN0LWVuZCAiZ2xvYiIpCi0tIAoyLjI2LjIK Cg== --=_a7bdf4d1c7e26921f3448702ccff0b8e Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=0002-guix-Enforce-package.json-files-directive.patch Content-Disposition: attachment; filename=0002-guix-Enforce-package.json-files-directive.patch; size=5457 RnJvbSAwYTNmNmE1MmZkZTk0MDExNjExMmUzNDhhODZkNzZhOTAxN2RlNzU3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBHaWFjb21vIExlaWRpIDxnb29kb2xkcGF1bEBhdXRpc3RpY2ku b3JnPgpEYXRlOiBXZWQsIDI5IEFwciAyMDIwIDE2OjA3OjI4ICswMjAwClN1YmplY3Q6IFtQQVRD SCAyLzJdIGd1aXg6IEVuZm9yY2UgcGFja2FnZS5qc29uICJmaWxlcyIgZGlyZWN0aXZlLgoKKiBn dWl4L2J1aWxkL25vZGUtYnVpbGQtc3lzdGVtLnNjbSAoaW5zdGFsbCk6IEVuZm9yY2UgcGFja2Fn ZS5qc29uICJmaWxlcyIgZGlyZWN0aXZlLgoqIGd1aXgvYnVpbGQtc3lzdGVtL25vZGUuc2NtICgl bm9kZS1idWlsZC1zeXN0ZW0tbW9kdWxlcykKKG5vZGUtYnVpbGQpW21vZHVsZXNdOiBBZGQgKGd1 aXggZ2xvYikuCi0tLQogZ3VpeC9idWlsZC1zeXN0ZW0vbm9kZS5zY20gICAgICAgfCAgNCArKy0K IGd1aXgvYnVpbGQvbm9kZS1idWlsZC1zeXN0ZW0uc2NtIHwgNTcgKysrKysrKysrKysrKysrKysr KysrKysrLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgNDcgaW5zZXJ0aW9ucygrKSwgMTQgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZ3VpeC9idWlsZC1zeXN0ZW0vbm9kZS5zY20gYi9ndWl4 L2J1aWxkLXN5c3RlbS9ub2RlLnNjbQppbmRleCAwNWMyNGM0N2Q1Li4wNWJjOWYyMDg3IDEwMDY0 NAotLS0gYS9ndWl4L2J1aWxkLXN5c3RlbS9ub2RlLnNjbQorKysgYi9ndWl4L2J1aWxkLXN5c3Rl bS9ub2RlLnNjbQpAQCAtNDIsNiArNDIsNyBAQCByZWdpc3RyeS4iCiAgIGAoKGd1aXggYnVpbGQg bm9kZS1idWlsZC1zeXN0ZW0pCiAgICAgKGd1aXggYnVpbGQganNvbikKICAgICAoZ3VpeCBidWls ZCB1bmlvbikKKyAgICAoZ3VpeCBnbG9iKQogICAgICxAJWdudS1idWlsZC1zeXN0ZW0tbW9kdWxl cykpIDs7IFRPRE86IE1pZ2h0IGJlIG5vdCBuZWVkZWQKIAogKGRlZmluZSAoZGVmYXVsdC1ub2Rl KQpAQCAtOTAsNyArOTEsOCBAQCByZWdpc3RyeS4iCiAgICAgICAgICAgICAgICAgICAgICAobW9k dWxlcyAnKChndWl4IGJ1aWxkIG5vZGUtYnVpbGQtc3lzdGVtKQogCQkJCShndWl4IGJ1aWxkIGpz b24pCiAJCQkJKGd1aXggYnVpbGQgdW5pb24pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChndWl4IGJ1aWxkIHV0aWxzKSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoZ3VpeCBidWlsZCB1dGlscykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGd1 aXggZ2xvYikpKSkKICAgIkJ1aWxkIFNPVVJDRSB1c2luZyBOT0RFIGFuZCBJTlBVVFMuIgogICAo ZGVmaW5lIGJ1aWxkZXIKICAgICBgKGJlZ2luCmRpZmYgLS1naXQgYS9ndWl4L2J1aWxkL25vZGUt YnVpbGQtc3lzdGVtLnNjbSBiL2d1aXgvYnVpbGQvbm9kZS1idWlsZC1zeXN0ZW0uc2NtCmluZGV4 IDc3OTlmMDM1OTUuLjg1OTljMTZiZTUgMTAwNjQ0Ci0tLSBhL2d1aXgvYnVpbGQvbm9kZS1idWls ZC1zeXN0ZW0uc2NtCisrKyBiL2d1aXgvYnVpbGQvbm9kZS1idWlsZC1zeXN0ZW0uc2NtCkBAIC0x LDYgKzEsNyBAQAogOzs7IEdOVSBHdWl4IC0tLSBGdW5jdGlvbmFsIHBhY2thZ2UgbWFuYWdlbWVu dCBmb3IgR05VCiA7OzsgQ29weXJpZ2h0IMKpIDIwMTUgRGF2aWQgVGhvbXBzb24gPGRhdmV0QGdu dS5vcmc+CiA7OzsgQ29weXJpZ2h0IMKpIDIwMTYgSmVsbGUgTGljaHQgPGpsaWNodEBmc2ZlLm9y Zz4KKzs7OyBDb3B5cmlnaHQgwqkgMjAyMCBHaWFjb21vIExlaWRpIDxnb29kb2xkcGF1bEBhdXRp c3RpY2kub3JnPgogOzs7CiA7OzsgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEd1aXguCiA7OzsK QEAgLTIyLDYgKzIzLDcgQEAKICAgIzp1c2UtbW9kdWxlIChndWl4IGJ1aWxkIGpzb24pCiAgICM6 dXNlLW1vZHVsZSAoZ3VpeCBidWlsZCB1bmlvbikKICAgIzp1c2UtbW9kdWxlIChndWl4IGJ1aWxk IHV0aWxzKQorICAjOnVzZS1tb2R1bGUgKGd1aXggZ2xvYikKICAgIzp1c2UtbW9kdWxlIChpY2Ut OSBtYXRjaCkKICAgIzp1c2UtbW9kdWxlIChpY2UtOSBwb3BlbikKICAgIzp1c2UtbW9kdWxlIChp Y2UtOSByZWdleCkKQEAgLTExMCwxOCArMTEyLDQ5IEBAIHRoZSBAZmlsZXtiaW59IGRpcmVjdG9y eS4iCiAJCQkJICgjZiAjZikpKQogICAgICAgICAgKGRlcGVuZGVuY2llcyAobWF0Y2ggKGFzc29j LXJlZiBkYXRhICJkZXBlbmRlbmNpZXMiKQogICAgICAgICAgICAgICAgICAgICAgICAgICgoJ0Ag ZGVwcyAuLi4pIGRlcHMpCi0gICAgICAgICAgICAgICAgICAgICAgICAgKCNmICNmKSkpKQorICAg ICAgICAgICAgICAgICAgICAgICAgICgjZiAjZikpKQorICAgICAgICAgKHBhdHRlcm5zIChtYXRj aCAoYXNzb2MtcmVmIGRhdGEgImZpbGVzIikKKyAgICAgICAgICAgICAgICAgICAgICgoKSAjZikK KyAgICAgICAgICAgICAgICAgICAgICgoPyBsaXN0PyBwYXRybikgcGF0cm4pCisgICAgICAgICAg ICAgICAgICAgICAoI2YgI2YpKSkKKyAgICAgICAgIChpbnN0YWxsLWRpciAoc3RyaW5nLWFwcGVu ZCB0YXJnZXQgIi9ub2RlX21vZHVsZXMvIiBtb2R1bGVuYW1lKSkKKyAgICAgICAgIChpbnN0YWxs LWZpbGVzIChsYW1iZGEgKGZpbGVzIGRpcmVjdG9yeSkKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgKGZvci1lYWNoIChsYW1iZGEgKGZpbGUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChpbnN0YWxsLWZpbGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGZpbGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJp bmctYXBwZW5kIGRpcmVjdG9yeSAiLyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChkaXJuYW1lIGZpbGUpKSkpCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBmaWxlcykpKSkKICAgICAobWtkaXItcCB0YXJnZXQpCi0gICAg KGNvcHktcmVjdXJzaXZlbHkgIi4iIChzdHJpbmctYXBwZW5kIHRhcmdldCAiL25vZGVfbW9kdWxl cy8iIG1vZHVsZW5hbWUpKQotICAgIDs7IFJlbW92ZSByZWZlcmVuY2VzIHRvIGRlcGVuZGVuY2ll cwotICAgIChkZWxldGUtZmlsZS1yZWN1cnNpdmVseQotICAgICAgKHN0cmluZy1hcHBlbmQgdGFy Z2V0ICIvbm9kZV9tb2R1bGVzLyIgbW9kdWxlbmFtZSAiL25vZGVfbW9kdWxlcyIpKQorICAgIChp ZiBwYXR0ZXJucworICAgICAgICAoaW5zdGFsbC1maWxlcworICAgICAgICAgKGZpbHRlcgorICAg ICAgICAgIChsYW1iZGEgKGZpbGUpCisgICAgICAgICAgICAoYW55CisgICAgICAgICAgICAgKGxh bWJkYSAocGF0dGVybikKKyAgICAgICAgICAgICAgIChnbG9iLW1hdGNoPworICAgICAgICAgICAg ICAgIChzdHJpbmctPmNvbXBpbGVkLXNnbG9iIHBhdHRlcm4pCisgICAgICAgICAgICAgICAgZmls ZSkpCisgICAgICAgICAgICAgKGFwcGVuZAorICAgICAgICAgICAgICBwYXR0ZXJucworICAgICAg ICAgICAgICAnKCJwYWNrYWdlLmpzb24iICJSRUFETUUqIgorICAgICAgICAgICAgICAgICJDSEFO R0VTKiIgIkNIQU5HRUxPRyoiCisgICAgICAgICAgICAgICAgIkhJU1RPUlkqIiAiTk9USUNFKiIp KSkpCisgICAgICAgICAgKG1hcCAobGFtYmRhIChwYXRoKQorICAgICAgICAgICAgICAgICAoc3Ry aW5nLWRyb3AgcGF0aCAyKSkKKyAgICAgICAgICAgICAgIChmaW5kLWZpbGVzICIuIikpKQorICAg ICAgICAgaW5zdGFsbC1kaXIpCisgICAgICAgIChiZWdpbgorICAgICAgICAgIChjb3B5LXJlY3Vy c2l2ZWx5ICIuIiBpbnN0YWxsLWRpcikKKyAgICAgICAgICA7OyBSZW1vdmUgcmVmZXJlbmNlcyB0 byBkZXBlbmRlbmNpZXMKKyAgICAgICAgICAoZGVsZXRlLWZpbGUtcmVjdXJzaXZlbHkKKyAgICAg ICAgICAgKHN0cmluZy1hcHBlbmQgaW5zdGFsbC1kaXIgIi9ub2RlX21vZHVsZXMiKSkpKQorCiAg ICAgKGNvbmQKICAgICAgICgoc3RyaW5nPyBiaW5hcnktY29uZmlndXJhdGlvbikKICAgICAgICAo YmVnaW4KICAgICAgICAgIChta2Rpci1wIGJpbmFyaWVzKQotICAgICAgICAgKHN5bWxpbmsgKHN0 cmluZy1hcHBlbmQgdGFyZ2V0ICIvbm9kZV9tb2R1bGVzLyIgbW9kdWxlbmFtZSAiLyIKLQkJCQkg YmluYXJ5LWNvbmZpZ3VyYXRpb24pCisgICAgICAgICAoc3ltbGluayAoc3RyaW5nLWFwcGVuZCBp bnN0YWxsLWRpciAiLyIgYmluYXJ5LWNvbmZpZ3VyYXRpb24pCiAgICAgICAgICAgICAgICAgICAo c3RyaW5nLWFwcGVuZCBiaW5hcmllcyAiLyIgbW9kdWxlbmFtZSkpKSkKICAgICAgICgobGlzdD8g YmluYXJ5LWNvbmZpZ3VyYXRpb24pCiAgICAgICAgKGZvci1lYWNoCkBAIC0xMzAsMjEgKzE2Mywx OSBAQCB0aGUgQGZpbGV7YmlufSBkaXJlY3RvcnkuIgogICAgICAgICAgICAgICgoa2V5IC4gdmFs dWUpCiAgICAgICAgICAgICAgIChiZWdpbgogICAgICAgICAgICAgICAgIChta2Rpci1wIChkaXJu YW1lIChzdHJpbmctYXBwZW5kIGJpbmFyaWVzICIvIiBrZXkpKSkKLSAgICAgICAgICAgICAgICAo c3ltbGluayAoc3RyaW5nLWFwcGVuZCB0YXJnZXQgIi9ub2RlX21vZHVsZXMvIiBtb2R1bGVuYW1l ICIvIgotCQkJCQl2YWx1ZSkKKyAgICAgICAgICAgICAgICAoc3ltbGluayAoc3RyaW5nLWFwcGVu ZCBpbnN0YWxsLWRpciAiLyIgdmFsdWUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmlu Zy1hcHBlbmQgYmluYXJpZXMgIi8iIGtleSkpKSkpKQotICAgICAgICAgYmluYXJ5LWNvbmZpZ3Vy YXRpb24pKSkKKyAgICAgICAgYmluYXJ5LWNvbmZpZ3VyYXRpb24pKSkKICAgICAod2hlbiBkZXBl bmRlbmNpZXMKICAgICAgIChta2Rpci1wCi0gICAgICAgIChzdHJpbmctYXBwZW5kIHRhcmdldCAi L25vZGVfbW9kdWxlcy8iIG1vZHVsZW5hbWUgIi9ub2RlX21vZHVsZXMiKSkKKyAgICAgICAgKHN0 cmluZy1hcHBlbmQgaW5zdGFsbC1kaXIgIi9ub2RlX21vZHVsZXMiKSkKICAgICAgIChmb3ItZWFj aAogICAgICAgICAobGFtYmRhIChkZXBlbmRlbmN5KQogICAgICAgICAgIChsZXQgKChkZXBlbmRl bmN5IChjYXIgZGVwZW5kZW5jeSkpKQogICAgICAgICAgICAgKHN5bWxpbmsKICAgICAgICAgICAg ICAgKHN0cmluZy1hcHBlbmQgKGFzc29jLXJlZiBpbnB1dHMgKHN0cmluZy1hcHBlbmQgIm5vZGUt IiBkZXBlbmRlbmN5KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi9saWIvbm9kZV9t b2R1bGVzLyIgZGVwZW5kZW5jeSkKLSAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgdGFyZ2V0 ICIvbm9kZV9tb2R1bGVzLyIgbW9kdWxlbmFtZQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAiL25vZGVfbW9kdWxlcy8iIGRlcGVuZGVuY3kpKSkpCisgICAgICAgICAgICAgIChzdHJpbmct YXBwZW5kIGluc3RhbGwtZGlyICIvbm9kZV9tb2R1bGVzLyIgZGVwZW5kZW5jeSkpKSkKICAgICAg ICAgZGVwZW5kZW5jaWVzKSkKICAgICAjdCkpCiAKLS0gCjIuMjYuMgoK --=_a7bdf4d1c7e26921f3448702ccff0b8e--