From unknown Mon Jun 23 23:47:11 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#45905 <45905@debbugs.gnu.org> To: bug#45905 <45905@debbugs.gnu.org> Subject: Status: [PATCH] IPFS service definition Reply-To: bug#45905 <45905@debbugs.gnu.org> Date: Tue, 24 Jun 2025 06:47:11 +0000 retitle 45905 [PATCH] IPFS service definition reassign 45905 guix-patches submitter 45905 Maxime Devos severity 45905 normal tag 45905 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 15 16:23:27 2021 Received: (at submit) by debbugs.gnu.org; 15 Jan 2021 21:23:27 +0000 Received: from localhost ([127.0.0.1]:41869 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1l0WZ5-0000dn-1W for submit@debbugs.gnu.org; Fri, 15 Jan 2021 16:23:27 -0500 Received: from lists.gnu.org ([209.51.188.17]:54780) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1l0WZ2-0000de-3o for submit@debbugs.gnu.org; Fri, 15 Jan 2021 16:23:26 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:60724) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l0WZ1-0006n8-0w for guix-patches@gnu.org; Fri, 15 Jan 2021 16:23:23 -0500 Received: from andre.telenet-ops.be ([2a02:1800:120:4::f00:15]:45128) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l0WYs-0001s6-8o for guix-patches@gnu.org; Fri, 15 Jan 2021 16:23:22 -0500 Received: from ptr-bvsjgyjmffd7q9timvx.18120a2.ip6.access.telenet.be ([IPv6:2a02:1811:8c09:9d00:aaf1:9810:a0b8:a55d]) by andre.telenet-ops.be with bizsmtp id H9P82400L0mfAB4019P9HD; Fri, 15 Jan 2021 22:23:09 +0100 Message-ID: Subject: [PATCH] IPFS service definition From: Maxime Devos To: guix-patches@gnu.org Date: Fri, 15 Jan 2021 22:22:54 +0100 Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="=-HW4PghOOvSQSaC7QMVvy" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 Received-SPF: pass client-ip=2a02:1800:120:4::f00:15; envelope-from=maximedevos@telenet.be; helo=andre.telenet-ops.be X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) --=-HW4PghOOvSQSaC7QMVvy Content-Type: multipart/mixed; boundary="=-QWn3Ce0COid2o0iQ0Web" --=-QWn3Ce0COid2o0iQ0Web Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Guix! A patch defining simple =E2=80=98ipfs-service-type=E2=80=99 is attached. I'= ve tested this in a VM, and will test it on a =E2=80=98real=E2=80=99 system later. Th= e gateway is currently broken, it tries to redirect to non-existent subdomains of localhost. Correcting this might require fiddling with the DNS configuration. Maxime --=20 Maxime Devos PGP Key: C1F3 3EE2 0C52 8FDB 7DD7 011F 49E3 EE22 1917 25EE Freenode handle: mdevos --=-QWn3Ce0COid2o0iQ0Web Content-Disposition: attachment; filename="0001-services-Add-ipfs-service-type.patch" Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="0001-services-Add-ipfs-service-type.patch"; charset="UTF-8" RnJvbSBjNDQxYmNhNzI3ZGY2NzgzNzY1MmViMmYwYjVhZDIzNTI4ZmQxMWEzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXhpbWUgRGV2b3MgPG1heGltZWRldm9zQHRlbGVuZXQuYmU+ CkRhdGU6IEZyaSwgMTUgSmFuIDIwMjEgMjE6NDY6NDIgKzAxMDAKU3ViamVjdDogW1BBVENIXSBz ZXJ2aWNlczogQWRkIGlwZnMtc2VydmljZS10eXBlCgoqIGdudS9zZXJ2aWNlcy9uZXR3b3JraW5n LnNjbSAoaXBmcy1zZXJ2aWNlLXR5cGUpCiAgKCVpcGZzLWhvbWUtbWFwcGluZywgJWlwZnMtZW52 aXJvbm1lbnQpCiAgKCVpcGZzLWFjY291bnRzLCAlaXBmcy1ob21lKTogTmV3IHZhcmlhYmxlcy4K ICAoaXBmcy1jb25maWd1cmF0aW9uLCBpcGZzLWNvbmZpZ3VyYXRpb24/KQogIChpcGZzLWNvbmZp Z3VyYXRpb24tcGFja2FnZSwgaXBmcy1jb25maWd1cmF0aW9uLWdhdGV3YXkpCiAgKGlwZnMtY29u ZmlndXJhdGlvbi1hcGksIGlwZnMtc2hlcGhlcmQtc2VydmljZSkKICAoaXBmcy1iaW5hcnksICVp cGZzLWFjdGl2YXRpb24pOiBOZXcgcHJvY2VkdXJlcy4KKiBkb2MvZ3VpeC50ZXhpIChOZXR3b3Jr aW5nIFNlcnZpY2VzKTogRG9jdW1lbnQgaXQuCi0tLQogZG9jL2d1aXgudGV4aSAgICAgICAgICAg ICAgIHwgIDMzICsrKysrKysrKwogZ251L3NlcnZpY2VzL25ldHdvcmtpbmcuc2NtIHwgMTM4ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCAxNzEg aW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RvYy9ndWl4LnRleGkgYi9kb2MvZ3VpeC50ZXhp CmluZGV4IGNlYTdmOGE4Y2YuLjQ5NjgwYjEzZTkgMTAwNjQ0Ci0tLSBhL2RvYy9ndWl4LnRleGkK KysrIGIvZG9jL2d1aXgudGV4aQpAQCAtODYsNiArODYsNyBAQCBDb3B5cmlnaHQgQGNvcHlyaWdo dHt9IDIwMjAgcmFpbmdsb29tQCoKIENvcHlyaWdodCBAY29weXJpZ2h0e30gMjAyMCBEYW5pZWwg QnJvb2tzQCoKIENvcHlyaWdodCBAY29weXJpZ2h0e30gMjAyMCBKb2huIFNvb0AqCiBDb3B5cmln aHQgQGNvcHlyaWdodHt9IDIwMjAgSm9uYXRoYW4gQnJpZWxtYWllckAqCitDb3B5cmlnaHQgQGNv cHlyaWdodHt9IDIwMjEgTWF4aW1lIERldm9zQCoKIAogUGVybWlzc2lvbiBpcyBncmFudGVkIHRv IGNvcHksIGRpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSB0aGlzIGRvY3VtZW50CiB1bmRlciB0aGUg dGVybXMgb2YgdGhlIEdOVSBGcmVlIERvY3VtZW50YXRpb24gTGljZW5zZSwgVmVyc2lvbiAxLjMg b3IKQEAgLTE3MjIxLDYgKzE3MjIyLDM4IEBAIGFkZHJlc3MsIGRlbGV0ZSBldmVyeXRoaW5nIGV4 Y2VwdCB0aGVzZSBvcHRpb25zOgogQGVuZCB0YWJsZQogQGVuZCBkZWZ0cAogCitAY2luZGV4IElQ RlMKK0BkZWZ2ciB7U2NoZW1lIFZhcmlhYmxlfSBpcGZzLXNlcnZpY2UtdHlwZQorVGhlIHNlcnZp Y2UgdHlwZSBmb3IgY29ubmVjdGluZyB0byB0aGUgQHVyZWZ7aHR0cHM6Ly9pcGZzLmlvLElQRlMg bmV0d29ya30sCithIGdsb2JhbCwgdmVyc2lvbmVkLCBwZWVyLXRvLXBlZXIgZmlsZSBzeXN0ZW0u IFBhc3MgaXQgYQorQGNvZGV7aXBmcy1jb25maWd1cmF0aW9ufSB0byBjaGFuZ2UgdGhlIHBvcnRz IHVzZWQgZm9yIHRoZSBnYXRld2F5IGFuZCBBUEkuCisKK0hlcmUncyBhbiBleGFtcGxlIGNvbmZp Z3VyYXRpb24sIHVzaW5nIHNvbWUgbm9uLXN0YW5kYXJkIHBvcnRzOgorCitAbGlzcAorOzsgcGFy dCBvZiB0aGUgb3BlcmF0aW5nLXN5c3RlbSBkZWNsYXJhdGlvbgorKHNlcnZpY2UgaXBmcy1zZXJ2 aWNlLXR5cGUKKyAgICAgICAgICAgICAgKGlwZnMtY29uZmlndXJhdGlvbgorICAgICAgICAgICAg ICAgKGdhdGV3YXkgIi9pcDQvMTI3LjAuMC4xL3RjcC84ODgwIikKKyAgICAgICAgICAgICAgIChh cGkgIi9pcDQvMTI3LjAuMC4xL3RjcC84ODgxIikpKQorQGVuZCBsaXNwCitAZW5kIGRlZnZyCisK K0BkZWZ0cCB7RGF0YSBUeXBlfSBpcGZzLWNvbmZpZ3VyYXRpb24KK0RhdGEgdHlwZSByZXByZXNl bnRpbmcgdGhlIGNvbmZpZ3VyYXRpb24gb2YgSVBGUy4KKworQHRhYmxlIEBhc2lzCitAaXRlbSBA Y29kZXtwYWNrYWdlfSAoZGVmYXVsdDogQGNvZGV7Z28taXBmc30pCitQYWNrYWdlIG9iamVjdCBv ZiBJUEZTLgorCitAaXRlbSBAY29kZXtnYXRld2F5fSAoZGVmYXVsdDogQGNvZGV7Ii9pcDQvMTI3 LjAuMC4xL3RjcC84MDgyIn0pCitBZGRyZXNzIG9mIHRoZSBnYXRld2F5LCBpbiDigJhtdWx0aWFk ZHJlc3PigJkgZm9ybWF0LgorCitAaXRlbSBAY29kZXthcGl9IChkZWZhdWx0OiBAY29kZXsiL2lw NC8xMjcuMC4wLjEvdGNwLzUwMDEifSkKK0FkZHJlc3Mgb2YgdGhlIEFQSSBlbmRwb2ludCwgaW4g 4oCYbXVsdGlhZGRyZXNz4oCZIGZvcm1hdC4KK0BlbmQgdGFibGUKK0BlbmQgZGVmdHAKKwogQGNp bmRleCBrZWVwYWxpdmVkCiBAZGVmZm4ge1NjaGVtZSBWYXJpYWJsZX0ga2VlcGFsaXZlZC1zZXJ2 aWNlLXR5cGUKIFRoaXMgaXMgdGhlIHR5cGUgZm9yIHRoZSBAdXJlZntodHRwczovL3d3dy5rZWVw YWxpdmVkLm9yZy8sIEtlZXBhbGl2ZWR9CmRpZmYgLS1naXQgYS9nbnUvc2VydmljZXMvbmV0d29y a2luZy5zY20gYi9nbnUvc2VydmljZXMvbmV0d29ya2luZy5zY20KaW5kZXggZGQ0MDYxMzQxZS4u NGExZDA0ZGZiYiAxMDA2NDQKLS0tIGEvZ251L3NlcnZpY2VzL25ldHdvcmtpbmcuc2NtCisrKyBi L2dudS9zZXJ2aWNlcy9uZXR3b3JraW5nLnNjbQpAQCAtMTUsNiArMTUsNyBAQAogOzs7IENvcHly aWdodCDCqSAyMDE5IEFsZXggR3JpZmZpbiA8YUBhamdyZi5jb20+CiA7OzsgQ29weXJpZ2h0IMKp IDIwMjAgQnJpY2UgV2FlZ2VuZWlyZSA8YnJpY2VAd2FlZ2VuZWkucmU+CiA7OzsgQ29weXJpZ2h0 IMKpIDIwMjEgT2xlZyBQeWtoYWxvdiA8Z28ud2lndXN0QGdtYWlsLmNvbT4KKzs7OyBDb3B5cmln aHQgwqkgMjAyMSBNYXhpbWUgRGV2b3MgPG1heGltZWRldm9zQHRlbGVuZXQuYmU+CiA7OzsKIDs7 OyBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgR3VpeC4KIDs7OwpAQCAtNTQsNiArNTUsOCBAQAog ICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBudHApCiAgICM6dXNlLW1vZHVsZSAoZ251IHBh Y2thZ2VzIHdpY2QpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGdub21lKQorICAjOnVz ZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBpcGZzKQorICAjOnVzZS1tb2R1bGUgKGdudSBidWlsZCBs aW51eC1jb250YWluZXIpCiAgICM6dXNlLW1vZHVsZSAoZ3VpeCBnZXhwKQogICAjOnVzZS1tb2R1 bGUgKGd1aXggcmVjb3JkcykKICAgIzp1c2UtbW9kdWxlIChndWl4IG1vZHVsZXMpCkBAIC0xOTYs NiArMTk5LDEzIEBACiAgICAgICAgICAgICB5Z2dkcmFzaWwtY29uZmlndXJhdGlvbi1qc29uLWNv bmZpZwogICAgICAgICAgICAgeWdnZHJhc2lsLWNvbmZpZ3VyYXRpb24tcGFja2FnZQogCisgICAg ICAgICAgICBpcGZzLXNlcnZpY2UtdHlwZQorICAgICAgICAgICAgaXBmcy1jb25maWd1cmF0aW9u CisgICAgICAgICAgICBpcGZzLWNvbmZpZ3VyYXRpb24/CisgICAgICAgICAgICBpcGZzLWNvbmZp Z3VyYXRpb24tcGFja2FnZQorICAgICAgICAgICAgaXBmcy1jb25maWd1cmF0aW9uLWdhdGV3YXkK KyAgICAgICAgICAgIGlwZnMtY29uZmlndXJhdGlvbi1hcGkKKwogICAgICAgICAgICAga2VlcGFs aXZlZC1jb25maWd1cmF0aW9uCiAgICAgICAgICAgICBrZWVwYWxpdmVkLWNvbmZpZ3VyYXRpb24/ CiAgICAgICAgICAgICBrZWVwYWxpdmVkLXNlcnZpY2UtdHlwZSkpCkBAIC0xODczLDYgKzE4ODMs MTM0IEBAIFNlZSB5Z2dkcmFzaWwgLWdlbmNvbmYgZm9yIGNvbmZpZyBvcHRpb25zLiIpCiAgICAg ICAgICAgKHNlcnZpY2UtZXh0ZW5zaW9uIHByb2ZpbGUtc2VydmljZS10eXBlCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChjb21wb3NlIGxpc3QgeWdnZHJhc2lsLWNvbmZpZ3VyYXRpb24t cGFja2FnZSkpKSkpKQogCisMCis7OzsKKzs7OyBJUEZTCis7OzsKKworKGRlZmluZS1yZWNvcmQt dHlwZSogPGlwZnMtY29uZmlndXJhdGlvbj4KKyAgaXBmcy1jb25maWd1cmF0aW9uCisgIG1ha2Ut aXBmcy1jb25maWd1cmF0aW9uCisgIGlwZnMtY29uZmlndXJhdGlvbj8KKyAgKHBhY2thZ2UgaXBm cy1jb25maWd1cmF0aW9uLXBhY2thZ2UKKyAgICAgICAgICAgKGRlZmF1bHQgZ28taXBmcykpCisg IChnYXRld2F5IGlwZnMtY29uZmlndXJhdGlvbi1nYXRld2F5CisgICAgICAgICAgIChkZWZhdWx0 ICIvaXA0LzEyNy4wLjAuMS90Y3AvODA4MiIpKQorICAoYXBpICAgICBpcGZzLWNvbmZpZ3VyYXRp b24tYXBpCisgICAgICAgICAgIChkZWZhdWx0ICIvaXA0LzEyNy4wLjAuMS90Y3AvNTAwMSIpKSkK KworKGRlZmluZSAlaXBmcy1ob21lICIvdmFyL2xpYi9pcGZzIikKKworKGRlZmluZSAlaXBmcy1h Y2NvdW50cworICAobGlzdCAodXNlci1hY2NvdW50CisgICAgICAgICAobmFtZSAiaXBmcyIpCisg ICAgICAgICAoZ3JvdXAgImlwZnMiKQorICAgICAgICAgKHN5c3RlbT8gI3QpCisgICAgICAgICAo Y29tbWVudCAiSVBGUyBkYWVtb24gdXNlciIpCisgICAgICAgICAoaG9tZS1kaXJlY3RvcnkgIi92 YXIvbGliL2lwZnMiKQorICAgICAgICAgKHNoZWxsIChmaWxlLWFwcGVuZCBzaGFkb3cgIi9zYmlu L25vbG9naW4iKSkpCisgICAgICAgICh1c2VyLWdyb3VwCisgICAgICAgICAobmFtZSAiaXBmcyIp CisgICAgICAgICAoc3lzdGVtPyAjdCkpKSkKKworKGRlZmluZSAoaXBmcy1iaW5hcnkgY29uZmln KQorICAoZmlsZS1hcHBlbmQgKGlwZnMtY29uZmlndXJhdGlvbi1wYWNrYWdlIGNvbmZpZykgIi9i aW4vaXBmcyIpKQorCisoZGVmaW5lICVpcGZzLWhvbWUtbWFwcGluZworICAjfihmaWxlLXN5c3Rl bS1tYXBwaW5nCisgICAgIChzb3VyY2UgIyQlaXBmcy1ob21lKQorICAgICAodGFyZ2V0ICMkJWlw ZnMtaG9tZSkKKyAgICAgKHdyaXRhYmxlPyAjdCkpKQorCisoZGVmaW5lICVpcGZzLWVudmlyb25t ZW50CisgICN+KGxpc3QgIyQoc3RyaW5nLWFwcGVuZCAiSE9NRT0iICVpcGZzLWhvbWUpKSkKKwor KGRlZmluZSAoaXBmcy1zaGVwaGVyZC1zZXJ2aWNlIGNvbmZpZykKKyAgIlJldHVybiBhIDxzaGVw aGVyZC1zZXJ2aWNlPiBmb3IgSVBGUyB3aXRoIENPTkZJRy4iCisgIChkZWZpbmUgaXBmcy1kYWVt b24tY29tbWFuZAorICAgICN+KGxpc3QgIyQoaXBmcy1iaW5hcnkgY29uZmlnKSAiZGFlbW9uIikp CisgIChsaXN0CisgICAod2l0aC1pbXBvcnRlZC1tb2R1bGVzIChzb3VyY2UtbW9kdWxlLWNsb3N1 cmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICcoKGdudSBidWlsZCBzaGVwaGVyZCkKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGdudSBzeXN0ZW0gZmlsZS1zeXN0ZW1zKSkpCisg ICAgIChzaGVwaGVyZC1zZXJ2aWNlCisgICAgICAocHJvdmlzaW9uICcoaXBmcykpCisgICAgICAo cmVxdWlyZW1lbnQgJyhuZXR3b3JraW5nKSkKKyAgICAgIChkb2N1bWVudGF0aW9uICJDb25uZWN0 IHRvIHRoZSBJUEZTIG5ldHdvcmsiKQorICAgICAgKG1vZHVsZXMgJygoZ251IGJ1aWxkIHNoZXBo ZXJkKQorICAgICAgICAgICAgICAgICAoZ251IHN5c3RlbSBmaWxlLXN5c3RlbXMpKSkKKyAgICAg IChzdGFydCAjfihtYWtlLWZvcmtleGVjLWNvbnN0cnVjdG9yL2NvbnRhaW5lcgorICAgICAgICAg ICAgICAgICMkaXBmcy1kYWVtb24tY29tbWFuZAorICAgICAgICAgICAgICAgICM6bmFtZXNwYWNl cyAnIyQoZm9sZCBkZWxxICVuYW1lc3BhY2VzICcodXNlciBuZXQpKQorICAgICAgICAgICAgICAg ICM6bWFwcGluZ3MgKGxpc3QgIyQlaXBmcy1ob21lLW1hcHBpbmcpCisgICAgICAgICAgICAgICAg Izpsb2ctZmlsZSAiL3Zhci9sb2cvaXBmcy5sb2ciCisgICAgICAgICAgICAgICAgIzp1c2VyICJp cGZzIgorICAgICAgICAgICAgICAgICM6Z3JvdXAgImlwZnMiCisgICAgICAgICAgICAgICAgIzpl bnZpcm9ubWVudC12YXJpYWJsZXMgIyQlaXBmcy1lbnZpcm9ubWVudCkpCisgICAgICAoc3RvcCAj fihtYWtlLWtpbGwtZGVzdHJ1Y3RvcikpKSkpKQorCisoZGVmaW5lICglaXBmcy1hY3RpdmF0aW9u IGNvbmZpZykKKyAgIlJldHVybiBhbiBhY3RpdmF0aW9uIGdleHAgZm9yIElQRlMgd2l0aCBDT05G SUciCisgIChkZWZpbmUgKGlwZnMtY29uZmlnLWNvbW1hbmQgc2V0dGluZyB2YWx1ZSkKKyAgICAj figjJChpcGZzLWJpbmFyeSBjb25maWcpICJjb25maWciICMkc2V0dGluZyAjJHZhbHVlKSkKKyAg KGRlZmluZSAoc2V0LWNvbmZpZyEtZ2V4cCBzZXR0aW5nIHZhbHVlKQorICAgICN+KHN5c3RlbSog IyRAKGlwZnMtY29uZmlnLWNvbW1hbmQgc2V0dGluZyB2YWx1ZSkpKQorICAoZGVmaW5lIHNldHRp bmdzCisgICAgYCgoIkFkZHJlc3Nlcy5BUEkiICwoaXBmcy1jb25maWd1cmF0aW9uLWFwaSBjb25m aWcpKQorICAgICAgKCJBZGRyZXNzZXMuR2F0ZXdheSIgLChpcGZzLWNvbmZpZ3VyYXRpb24tZ2F0 ZXdheSBjb25maWcpKSkpCisgIChkZWZpbmUgaW5uZXItZ2V4cAorICAgICN+KGJlZ2luCisgICAg ICAgICh1bWFzayAjbzA3NykKKyAgICAgICAgOzsgQ3JlYXRlICRIT01FLy5pcGZzIHN0cnVjdHVy ZQorICAgICAgICAoc3lzdGVtKiAjJChpcGZzLWJpbmFyeSBjb25maWcpICJpbml0IikKKyAgICAg ICAgOzsgQXBwbHkgc2V0dGluZ3MKKyAgICAgICAgIyRAKG1hcCAoY3V0ZSBhcHBseSBzZXQtY29u ZmlnIS1nZXhwIDw+KSBzZXR0aW5ncykpKQorICAoZGVmaW5lIGlubmVyLXNjcmlwdAorICAgIChw cm9ncmFtLWZpbGUgImlwZnMtYWN0aXZhdGlvbi1pbm5lciIgaW5uZXItZ2V4cCkpCisgIDs7IFJ1 biBpcGZzIGluaXQgYW5kIGlwZnMgY29uZmlnIGZyb20gYSBjb250YWluZXIsCisgIDs7IGluIGNh c2UgdGhlIElQRlMgZGFlbW9uIHdhcyBjb21wcm9taXNlZCBhdCBzb21lIHBvaW50CisgIDs7IGFu ZCB+Ly5pcGZzIGlzIG5vdyBhIHN5bWxpbmsgdG8gc29tZXdoZXJlIG91dHNpZGUKKyAgOzsgJWlw ZnMtaG9tZS4KKyAgKGRlZmluZSBjb250YWluZXItZ2V4cAorICAgICh3aXRoLWV4dGVuc2lvbnMg KGxpc3Qgc2hlcGhlcmQpCisgICAgICAod2l0aC1pbXBvcnRlZC1tb2R1bGVzIChzb3VyY2UtbW9k dWxlLWNsb3N1cmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcoKGdudSBidWlsZCBz aGVwaGVyZCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGdudSBzeXN0ZW0gZmls ZS1zeXN0ZW1zKSkpCisgICAgICAgICN+KGJlZ2luCisgICAgICAgICAgICAodXNlLW1vZHVsZXMg KGdudSBidWlsZCBzaGVwaGVyZCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAoZ251IHN5c3Rl bSBmaWxlLXN5c3RlbXMpKQorICAgICAgICAgICAgKGxldCogKChjb25zdHJ1Y3RvcgorICAgICAg ICAgICAgICAgICAgICAobWFrZS1mb3JrZXhlYy1jb25zdHJ1Y3Rvci9jb250YWluZXIKKyAgICAg ICAgICAgICAgICAgICAgIChsaXN0ICMkaW5uZXItc2NyaXB0KQorICAgICAgICAgICAgICAgICAg ICAgIzpuYW1lc3BhY2VzICcjJChmb2xkIGRlbHEgJW5hbWVzcGFjZXMgJyh1c2VyKSkKKyAgICAg ICAgICAgICAgICAgICAgICM6bWFwcGluZ3MgKGxpc3QgIyQlaXBmcy1ob21lLW1hcHBpbmcpCisg ICAgICAgICAgICAgICAgICAgICAjOnVzZXIgImlwZnMiCisgICAgICAgICAgICAgICAgICAgICAj Omdyb3VwICJpcGZzIgorICAgICAgICAgICAgICAgICAgICAgIzplbnZpcm9ubWVudC12YXJpYWJs ZXMgIyQlaXBmcy1lbnZpcm9ubWVudCkpCisgICAgICAgICAgICAgICAgICAgKHBpZCAoY29uc3Ry dWN0b3IpKSkKKyAgICAgICAgICAgICAgKHdhaXRwaWQgcGlkKSkpKSkpCisgIDs7IFRoZSBhY3Rp dmF0aW9uIG1heSBoYXBwZW4gZnJvbSB0aGUgaW5pdHJkLCB3aGljaCB1c2VzCisgIDs7IGEgc3Rh dGljYWxseS1saW5rZWQgZ3VpbGUsIHdoaWxlIHRoZSBndWl4IGNvbnRhaW5lcgorICA7OyBwcm9j ZWR1cmVzIHJlcXVpcmUgYSB3b3JraW5nIGR5bmFtaWMtbGluay4KKyAgKGRlZmluZSBjb250YWlu ZXItc2NyaXB0CisgICAgKHByb2dyYW0tZmlsZSAiaXBmcy1hY3RpdmF0aW9uLWNvbnRhaW5lciIg Y29udGFpbmVyLWdleHApKQorICAjfihzeXN0ZW0qICMkY29udGFpbmVyLXNjcmlwdCkpCisKKyhk ZWZpbmUgaXBmcy1zZXJ2aWNlLXR5cGUKKyAgKHNlcnZpY2UtdHlwZQorICAgKG5hbWUgJ2lwZnMp CisgICAoZXh0ZW5zaW9ucworICAgIChsaXN0IChzZXJ2aWNlLWV4dGVuc2lvbiBhY2NvdW50LXNl cnZpY2UtdHlwZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3QgJWlwZnMtYWNj b3VudHMpKQorICAgICAgICAgIChzZXJ2aWNlLWV4dGVuc2lvbiBhY3RpdmF0aW9uLXNlcnZpY2Ut dHlwZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlaXBmcy1hY3RpdmF0aW9uKQorICAg ICAgICAgIChzZXJ2aWNlLWV4dGVuc2lvbiBzaGVwaGVyZC1yb290LXNlcnZpY2UtdHlwZQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBpcGZzLXNoZXBoZXJkLXNlcnZpY2UpKSkKKyAgIChk ZWZhdWx0LXZhbHVlIChpcGZzLWNvbmZpZ3VyYXRpb24pKQorICAgKGRlc2NyaXB0aW9uCisgICAg IlJ1biBAY29tbWFuZHtpcGZzIGRhZW1vbn0sIHRoZSByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24K K29mIHRoZSBJUEZTIHAycCBzdG9yYWdlIG5ldHdvcmsuIikpKQorCiAMCiA7OzsKIDs7OyBLZWVw YWxpdmVkCi0tIAoyLjMwLjAKCg== --=-QWn3Ce0COid2o0iQ0Web-- --=-HW4PghOOvSQSaC7QMVvy Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- iI0EABYIADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYAIHrxccbWF4aW1lZGV2 b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7g/qAQCPTRlr/clMlltv4me82S2moBhv xC7RohwRHRNasEmS+wD/S7pRLgw4RRd9szucH/Vrf3oaligMOd5niX83n3Alzgg= =EEA3 -----END PGP SIGNATURE----- --=-HW4PghOOvSQSaC7QMVvy-- From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 22 13:18:00 2021 Received: (at 45905) by debbugs.gnu.org; 22 Mar 2021 17:18:00 +0000 Received: from localhost ([127.0.0.1]:58449 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lOOBk-0008HT-29 for submit@debbugs.gnu.org; Mon, 22 Mar 2021 13:18:00 -0400 Received: from eggs.gnu.org ([209.51.188.92]:47278) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lOOBi-0008HH-79 for 45905@debbugs.gnu.org; Mon, 22 Mar 2021 13:17:58 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:34932) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lOOBc-0000wN-Ql; Mon, 22 Mar 2021 13:17:52 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=43086 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lOOBa-0007P6-UI; Mon, 22 Mar 2021 13:17:52 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Maxime Devos Subject: Re: bug#45905: [PATCH] IPFS service definition References: Date: Mon, 22 Mar 2021 18:17:49 +0100 In-Reply-To: (Maxime Devos's message of "Fri, 15 Jan 2021 22:22:54 +0100") Message-ID: <874kh3w1j6.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 45905 Cc: 45905@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi Maxime, Maxime Devos skribis: > A patch defining simple =E2=80=98ipfs-service-type=E2=80=99 is attached. = I've tested > this in a VM, and will test it on a =E2=80=98real=E2=80=99 system later. = The gateway > is currently broken, it tries to redirect to non-existent subdomains > of localhost. Correcting this might require fiddling with the DNS > configuration. OK. That doesn=E2=80=99t prevent one from using it, right? > From c441bca727df67837652eb2f0b5ad23528fd11a3 Mon Sep 17 00:00:00 2001 > From: Maxime Devos > Date: Fri, 15 Jan 2021 21:46:42 +0100 > Subject: [PATCH] services: Add ipfs-service-type > > * gnu/services/networking.scm (ipfs-service-type) > (%ipfs-home-mapping, %ipfs-environment) > (%ipfs-accounts, %ipfs-home): New variables. > (ipfs-configuration, ipfs-configuration?) > (ipfs-configuration-package, ipfs-configuration-gateway) > (ipfs-configuration-api, ipfs-shepherd-service) > (ipfs-binary, %ipfs-activation): New procedures. > * doc/guix.texi (Networking Services): Document it. [...] > +@lisp > +;; part of the operating-system declaration I think you can omit this line. > +(service ipfs-service-type > + (ipfs-configuration > + (gateway "/ip4/127.0.0.1/tcp/8880") > + (api "/ip4/127.0.0.1/tcp/8881"))) Indentation is left (should be aligned with =E2=80=98ipfs-service-type=E2= =80=99.) > + (start #~(make-forkexec-constructor/container > + #$ipfs-daemon-command > + #:namespaces '#$(fold delq %namespaces '(user net)) > + #:mappings (list #$%ipfs-home-mapping) > + #:log-file "/var/log/ipfs.log" > + #:user "ipfs" > + #:group "ipfs" > + #:environment-variables #$%ipfs-environment)) Nice! > + ;; Run ipfs init and ipfs config from a container, > + ;; in case the IPFS daemon was compromised at some point > + ;; and ~/.ipfs is now a symlink to somewhere outside > + ;; %ipfs-home. > + (define container-gexp > + (with-extensions (list shepherd) > + (with-imported-modules (source-module-closure > + '((gnu build shepherd) > + (gnu system file-systems))) > + #~(begin > + (use-modules (gnu build shepherd) > + (gnu system file-systems)) > + (let* ((constructor > + (make-forkexec-constructor/container > + (list #$inner-script) > + #:namespaces '#$(fold delq %namespaces '(user)) > + #:mappings (list #$%ipfs-home-mapping) > + #:user "ipfs" > + #:group "ipfs" > + #:environment-variables #$%ipfs-environment)) > + (pid (constructor))) > + (waitpid pid)))))) > + ;; The activation may happen from the initrd, which uses > + ;; a statically-linked guile, while the guix container > + ;; procedures require a working dynamic-link. > + (define container-script > + (program-file "ipfs-activation-container" container-gexp)) > + #~(system* #$container-script)) That=E2=80=99s a bit involved, but it makes sense to me. The patch LGTM. However, we usually commit services along with a system test under (gnu tests =E2=80=A6). The manual has info on how to run indivi= dual system tests: https://guix.gnu.org/manual/en/html_node/Running-the-Test-Suite.html Could you write a test that ensures that basic functionality works? It could be as simple as waiting for the service to be up, then invoking =E2=80=98ipfs add=E2=80=99 and =E2=80=98ipfs get=E2=80=99. WDYT? Thank you! Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 22 14:40:47 2021 Received: (at 45905) by debbugs.gnu.org; 22 Mar 2021 18:40:47 +0000 Received: from localhost ([127.0.0.1]:58621 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lOPTr-00044c-8C for submit@debbugs.gnu.org; Mon, 22 Mar 2021 14:40:47 -0400 Received: from albert.telenet-ops.be ([195.130.137.90]:54576) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lOPTo-00044R-N1 for 45905@debbugs.gnu.org; Mon, 22 Mar 2021 14:40:45 -0400 Received: from ptr-bvsjgyjmffd7q9timvx.18120a2.ip6.access.telenet.be ([IPv6:2a02:1811:8c09:9d00:aaf1:9810:a0b8:a55d]) by albert.telenet-ops.be with bizsmtp id jWgi2400D0mfAB406WgiLp; Mon, 22 Mar 2021 19:40:43 +0100 Message-ID: <36af87b3ec48ed159cc237dcac93320817c74f58.camel@telenet.be> Subject: Re: bug#45905: [PATCH] IPFS service definition From: Maxime Devos To: Ludovic =?ISO-8859-1?Q?Court=E8s?= Date: Mon, 22 Mar 2021 19:40:37 +0100 In-Reply-To: <874kh3w1j6.fsf@gnu.org> References: <874kh3w1j6.fsf@gnu.org> Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="=-vUatxNZDjhHG+9tK/VN8" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r21; t=1616438443; bh=wTRNuXKD/NR9zUTI3JPZVLQFfEwmL8CnhUGOo9Gx7Sw=; h=Subject:From:To:Cc:Date:In-Reply-To:References; b=lc2DB0JpndbCI1rjrOjO94W0Z5suhaqB6CynOK+Yf7PsuvjvmraQV0FrmhUdDdo+z 31GFFUTcfkh1Kiyh05u821wbu1EfbLIgE3KaFv+u0Lqmkya4H4YTChRrWHCK0CYUxa SrvWtCp6A19Psv6bS1OJHyjCeATBR7PJux2E+dinfB4MjWalJnnOo7ZHHd7hXsu58X z4sbUbWSgnpki6AQ2RohDRFH35ATs5oL9Z34Q9ktnTCQG+o3Kmx6yEWJLARP6TcoXy Bg+vj/Ji3c1IS4N1W7LRY1eCdteHlJPc3swctXX9SRcT41wdYKTrh6GezgWLAogLdP ZI3p3Nn+tJ/Ug== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 45905 Cc: 45905@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) --=-vUatxNZDjhHG+9tK/VN8 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, 2021-03-22 at 18:17 +0100, Ludovic Court=C3=A8s wrote: > Hi Maxime, Hi > Maxime Devos skribis: >=20 > > A patch defining simple =E2=80=98ipfs-service-type=E2=80=99 is attached= . I've tested > > this in a VM, and will test it on a =E2=80=98real=E2=80=99 system later= . The gateway > > is currently broken, it tries to redirect to non-existent subdomains > > of localhost. Correcting this might require fiddling with the DNS > > configuration. >=20 > OK. That doesn=E2=80=99t prevent one from using it, right? Nah, the REST API presumably works just fine and there is plenty to see on the webui: http://localhost:5001/ipfs/bafybeif4zkmu7qdhkpf3pnhwxipylqleof7rl6ojbe7mq3f= zogz6m4xk3i/#/ Not perfect, but it might suffice for your purposes. That reminds me the configuration can be modified from there. I didn't figure how to disable that. Not ideal from a security perspective, but at least its only loopback & ipfs is in a container. > > +@lisp > > +;; part of the operating-system declaration > I think you can omit this line. I think I found that line somewhere & copied it for consistency, but it has been some time ago. > > +(service ipfs-service-type > > + (ipfs-configuration > > + (gateway "/ip4/127.0.0.1/tcp/8880") > > + (api "/ip4/127.0.0.1/tcp/8881"))) >=20 > Indentation is left (should be aligned with =E2=80=98ipfs-service-type=E2= =80=99.) Ok, not sure how this happened. > > + (start #~(make-forkexec-constructor/container > > + [container stuff] > > + #:environment-variables #$%ipfs-environment)) >=20 > Nice! Yep! Also, this reminds me I'm not sure what the distinction between #+ and #~ is in activation gexps, in shepherd services definitions, etc. > > + ;; Run ipfs init and ipfs config from a container, > > + ;; in case the IPFS daemon was compromised at some point > > + ;; and ~/.ipfs is now a symlink to somewhere outside > > + ;; %ipfs-home. > > + (define container-gexp [complicated container stuff]) > >=20 > That=E2=80=99s a bit involved, but it makes sense to me. Unfortunately, there are (non-container related) some more issues. Last few weeks I've been seeing this error (/var/log/ipfs.log): (start snip) Error: fs-repo requires migration Initializing daemon... go-ipfs version: 0.8.0 Repo version: 11 System version: amd64/linux Golang version: go1.14.15 Found outdated fs-repo, migrations need to be run. Run migrations now? [y/N] Not running migrations of fs-repo now. Please get fs-repo-migrations from https://dist.ipfs.io Error: fs-repo requires migration (end snip) (Super hacky work-around: rm -r /var/lib/ipfs mkdir /var/lib/ipfs chmod a-rwx /var/lib/ipfs chmod u+rwx /var/lib/ipfs chown ipfs:ipfs /var/lib/ipfs sudo -u ipfs -g ipfs "`guix build go-ipfs`/bin/ipfs" init # ^ this can take some seconds to complete sudo -u ipfs -g ipfs "`guix build go-ipfs`/bin/ipfs" config API /ip4/127.= 0.0.1/tcp/5001 sudo -u ipfs -g ipfs "`guix build go-ipfs`/bin/ipfs" config Addresses.Gat= eway /ip4/127.0.0.1/tcp/8082 herd enable ipfs herd start ipfs) Unfortunately "fs-repo-migrations" does not seem to be packaged in Guix. Apparently there has been a change in repo format in the go-ipfs v0.7.0 --> v0.8.0 upgrade. I believe for most users simply automatically running the upgrades would be sufficient. Now, how could we do this safely from shepherd? Maybe before starting open a pipe, write "y\n" to it an pass it as file descriptor 0 (stdin) would be sufficient? But shepherd always closes /dev/stdin before exec IIRC .. Seems like shepherd needs support for file descriptor! I've a patch for that, but it needs to be verified (& corrected likely) on GNU/Hurd. Feel free to ask for the incomplete patch if you're impatient and want to finish it yourself! (Seems to work on GNU/Linux in any case.) > The patch LGTM. However, we usually commit services along with a system > test under (gnu tests =E2=80=A6). The manual has info on how to run indi= vidual > system tests: >=20 > https://guix.gnu.org/manual/en/html_node/Running-the-Test-Suite.html >=20 > Could you write a test that ensures that basic functionality works? It > could be as simple as waiting for the service to be up, then invoking > =E2=80=98ipfs add=E2=80=99 and =E2=80=98ipfs get=E2=80=99. WDYT? Will look into it eventually, but I am currently occupied with other things that have deadlines )-:. (Not feeling very inspired for a writing/presentation assignment ...) (And I would rather hack on GNUnet frankly; IPFS is more of a stop-gap to me for having some distributed something for substitutes.) So feel free to beat me to it. Greetings, Maxime. --=-vUatxNZDjhHG+9tK/VN8 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- iI0EABYIADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYFjkpRccbWF4aW1lZGV2 b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7q74AQCWznKm3gQg4zKipnOle2hpQbEo x1mPjbKLJIXMYSk9DgEAwU30UR0baPI32ym4YvZORhhywcWH+B9J70naA0VerA4= =IBUS -----END PGP SIGNATURE----- --=-vUatxNZDjhHG+9tK/VN8-- From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 23 09:09:09 2021 Received: (at 45905) by debbugs.gnu.org; 23 Mar 2021 13:09:09 +0000 Received: from localhost ([127.0.0.1]:59846 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lOgmS-0004PF-Qt for submit@debbugs.gnu.org; Tue, 23 Mar 2021 09:09:09 -0400 Received: from eggs.gnu.org ([209.51.188.92]:59538) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lOgmP-0004Oh-8I for 45905@debbugs.gnu.org; Tue, 23 Mar 2021 09:09:07 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:54500) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lOgmJ-0003sE-2n; Tue, 23 Mar 2021 09:08:59 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=54512 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lOgmH-0002rM-PQ; Tue, 23 Mar 2021 09:08:58 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Maxime Devos Subject: Re: bug#45905: [PATCH] IPFS service definition References: <874kh3w1j6.fsf@gnu.org> <36af87b3ec48ed159cc237dcac93320817c74f58.camel@telenet.be> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 3 Germinal an 229 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Tue, 23 Mar 2021 14:08:55 +0100 In-Reply-To: <36af87b3ec48ed159cc237dcac93320817c74f58.camel@telenet.be> (Maxime Devos's message of "Mon, 22 Mar 2021 19:40:37 +0100") Message-ID: <871rc6koew.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 45905 Cc: 45905@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi Maxime! Maxime Devos skribis: >> OK. That doesn=E2=80=99t prevent one from using it, right? > > Nah, the REST API presumably works just fine and there is plenty to see on > the webui: > > http://localhost:5001/ipfs/bafybeif4zkmu7qdhkpf3pnhwxipylqleof7rl6ojbe7mq= 3fzogz6m4xk3i/#/ > > Not perfect, but it might suffice for your purposes. > That reminds me the configuration can be modified from there. > I didn't figure how to disable that. Not ideal from a security > perspective, but at least its only loopback & ipfs is in a container. Good. [...] > Yep! Also, this reminds me I'm not sure what the distinction between > #+ and #~ is in activation gexps, in shepherd services definitions, > etc. #+ is =E2=80=98ungexp-native=E2=80=99. It makes sense if you consider a cr= oss-compiled system. Code in an activation gexp is meant to run on the target system, so you want to use #$ (=E2=80=98ungexp=E2=80=99) there. You might want to use #+ when building things that can just as well be built natively. For instance, the background image for GRUB must be built by running Inkscape natively on the host system, so we use #+inkscape (or similar) to do that. I hope that makes sense. > Unfortunately, there are (non-container related) some more issues. > Last few weeks I've been seeing this error (/var/log/ipfs.log): > > (start snip) > Error: fs-repo requires migration > Initializing daemon... > go-ipfs version: 0.8.0 > Repo version: 11 > System version: amd64/linux > Golang version: go1.14.15 > Found outdated fs-repo, migrations need to be run. > Run migrations now? [y/N] Not running migrations of fs-repo now. > Please get fs-repo-migrations from https://dist.ipfs.io > > Error: fs-repo requires migration > (end snip) Bah, I remember seeing that. > Unfortunately "fs-repo-migrations" does not seem to be packaged in Guix. > Apparently there has been a change in repo format in the go-ipfs v0.7.0 > --> v0.8.0 upgrade. I believe for most users simply automatically running > the upgrades would be sufficient. Yes, I think so. We =E2=80=9Cjust=E2=80=9D need to package =E2=80=98fs-rep= o-migrations=E2=80=99 first. Perhaps it=E2=80=99d be okay, as a first step, to provide an IPFS service t= hat doesn=E2=80=99t handle migrations automatically. > Now, how could we do this safely from shepherd? Maybe before starting op= en > a pipe, write "y\n" to it an pass it as file descriptor 0 (stdin) would > be sufficient? But shepherd always closes /dev/stdin before exec IIRC .. You could have the =E2=80=98ipfs=E2=80=99 Shepherd service depend on, say, = a one-shot =E2=80=98ipfs-migration=E2=80=99 service. The =E2=80=98ipfs-migration=E2= =80=99 service would run =E2=80=98fs-repo-migrations=E2=80=99 if it=E2=80=99s necessary. >> The patch LGTM. However, we usually commit services along with a system >> test under (gnu tests =E2=80=A6). The manual has info on how to run ind= ividual >> system tests: >>=20 >> https://guix.gnu.org/manual/en/html_node/Running-the-Test-Suite.html >>=20 >> Could you write a test that ensures that basic functionality works? It >> could be as simple as waiting for the service to be up, then invoking >> =E2=80=98ipfs add=E2=80=99 and =E2=80=98ipfs get=E2=80=99. WDYT? > > Will look into it eventually, but I am currently occupied with other thin= gs > that have deadlines )-:. (Not feeling very inspired for a > writing/presentation assignment ...) (And I would rather hack on GNUnet > frankly; IPFS is more of a stop-gap to me for having some distributed > something for substitutes.) So feel free to beat me to it. I=E2=80=99m not offering to work on it :-), but hopefully you or maybe some fellow contributor can finish it up in the coming weeks! Thanks, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Sun Mar 28 12:36:35 2021 Received: (at 45905) by debbugs.gnu.org; 28 Mar 2021 16:36:35 +0000 Received: from localhost ([127.0.0.1]:46897 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lQYOo-00018U-Pr for submit@debbugs.gnu.org; Sun, 28 Mar 2021 12:36:35 -0400 Received: from albert.telenet-ops.be ([195.130.137.90]:43000) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lQYOl-00018J-Jz for 45905@debbugs.gnu.org; Sun, 28 Mar 2021 12:36:25 -0400 Received: from ptr-bvsjgyjmffd7q9timvx.18120a2.ip6.access.telenet.be ([IPv6:2a02:1811:8c09:9d00:aaf1:9810:a0b8:a55d]) by albert.telenet-ops.be with bizsmtp id lscM2400G0mfAB406scMxl; Sun, 28 Mar 2021 18:36:22 +0200 Message-ID: <4e1df2f011f5766d48c44d7231e562a889239e7a.camel@telenet.be> Subject: Re: bug#45905: [PATCH] IPFS service definition From: Maxime Devos To: Ludovic =?ISO-8859-1?Q?Court=E8s?= Date: Sun, 28 Mar 2021 18:36:13 +0200 In-Reply-To: <871rc6koew.fsf@gnu.org> References: <874kh3w1j6.fsf@gnu.org> <36af87b3ec48ed159cc237dcac93320817c74f58.camel@telenet.be> <871rc6koew.fsf@gnu.org> Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="=-onZ0Vh88Nt1TPN6CIFpc" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r21; t=1616949382; bh=aK98yxaD7fKTwRBZCOcsh/Ir94vsR/UFt1lz5C7MpM4=; h=Subject:From:To:Cc:Date:In-Reply-To:References; b=Zb9DfX+xlPVqyfPCjKHGcRUGVyFZpFBEYt/HzZ2ZYxv8nS2MGfSAPJnFV3tYx3TnQ iG4M7QwwrCsxlyHXuvkSjgFcy1hcoqLFMYBlc4/VLm33/JSx/2CJ+piIMMJDD7chdm EV8x5FA8/fZU9mFZPkHg3oaOdOGZvLi1rslcRsMaEt7qWXt0Jl7z0ctr5cDyy2pd+8 NoY2U6RwYY+pZ6loizAWyrg+H9/H81empiSikIN8maS0XXUH10ixP8704UiatwZJaN ivthXydeHs5wLNnyEFZnW+r0f2pJEKQ89ZPpVYebJB60CBLpCxTLoO8GG2IfNebXma cQ4sRg7vdE1Jw== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 45905 Cc: 45905@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-onZ0Vh88Nt1TPN6CIFpc Content-Type: multipart/mixed; boundary="=-4fQ/b2+OM9ALP4I5bmy3" --=-4fQ/b2+OM9ALP4I5bmy3 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, 2021-03-23 at 14:08 +0100, Ludovic Court=C3=A8s wrote: > [...] > Yes, I think so. We =E2=80=9Cjust=E2=80=9D need to package =E2=80=98fs-r= epo-migrations=E2=80=99 first. >=20 > Perhaps it=E2=80=99d be okay, as a first step, to provide an IPFS service= that > doesn=E2=80=99t handle migrations automatically. >=20 > [...] Punt for later. > > > The patch LGTM. However, we usually commit services along with a sys= tem > > > test under (gnu tests =E2=80=A6). The manual has info on how to run = individual > > > system tests: > > >=20 > > > https://guix.gnu.org/manual/en/html_node/Running-the-Test-Suite.htm= l > > >=20 > > > Could you write a test that ensures that basic functionality works? = It > > > could be as simple as waiting for the service to be up, then invoking > > > =E2=80=98ipfs add=E2=80=99 and =E2=80=98ipfs get=E2=80=99. WDYT? > >=20 > > [...] I have attached a revised patch series testing such basic functionality. However, I tested the functionality with the HTTP interface instead of with the command line, as the CLI tools assume the IPFS daemon is run as the same user as the CLI tools. (IIRC there is an implementation of the CLI tools somewhere that uses the API endpoint instead of reading/writing to ~/.ipfs, but I don't recall where.) I have a problem: I can't run the test I wrote. $ make && make check-system TESTS=3D"ipfs" > [compilation bla bla] > Compiling Scheme modules... > Selected 1 system tests... > (end of output) For some reason, the test I wrote seems to be ignored. (Also available from my public git repo: ) Greetings, Maxime. --=-4fQ/b2+OM9ALP4I5bmy3 Content-Disposition: attachment; filename="0001-services-Add-ipfs-service-type.patch" Content-Type: text/x-patch; name="0001-services-Add-ipfs-service-type.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSAxYzMxODJkYWIxOTM5NDc0OGEwOTI2NGI1NDM4NzRkZTFiNzc3ZWM1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXhpbWUgRGV2b3MgPG1heGltZWRldm9zQHRlbGVuZXQuYmU+ CkRhdGU6IEZyaSwgMTUgSmFuIDIwMjEgMjE6NDY6NDIgKzAxMDAKU3ViamVjdDogW1BBVENIIDEv M10gc2VydmljZXM6IEFkZCBpcGZzLXNlcnZpY2UtdHlwZQoKKiBnbnUvc2VydmljZXMvbmV0d29y a2luZy5zY20gKGlwZnMtc2VydmljZS10eXBlKQogICglaXBmcy1ob21lLW1hcHBpbmcsICVpcGZz LWVudmlyb25tZW50KQogICglaXBmcy1hY2NvdW50cywgJWlwZnMtaG9tZSk6IE5ldyB2YXJpYWJs ZXMuCiAgKGlwZnMtY29uZmlndXJhdGlvbiwgaXBmcy1jb25maWd1cmF0aW9uPykKICAoaXBmcy1j b25maWd1cmF0aW9uLXBhY2thZ2UsIGlwZnMtY29uZmlndXJhdGlvbi1nYXRld2F5KQogIChpcGZz LWNvbmZpZ3VyYXRpb24tYXBpLCBpcGZzLXNoZXBoZXJkLXNlcnZpY2UpCiAgKGlwZnMtYmluYXJ5 LCAlaXBmcy1hY3RpdmF0aW9uKTogTmV3IHByb2NlZHVyZXMuCiogZG9jL2d1aXgudGV4aSAoTmV0 d29ya2luZyBTZXJ2aWNlcyk6IERvY3VtZW50IGl0LgotLS0KIGRvYy9ndWl4LnRleGkgICAgICAg ICAgICAgICB8ICAzMyArKysrKysrKysKIGdudS9zZXJ2aWNlcy9uZXR3b3JraW5nLnNjbSB8IDE0 MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwg MTc0IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kb2MvZ3VpeC50ZXhpIGIvZG9jL2d1aXgu dGV4aQppbmRleCA3NGYzZmJkMjk5Li45MzE0MzI3MDM5IDEwMDY0NAotLS0gYS9kb2MvZ3VpeC50 ZXhpCisrKyBiL2RvYy9ndWl4LnRleGkKQEAgLTg3LDYgKzg3LDcgQEAgQ29weXJpZ2h0IEBjb3B5 cmlnaHR7fSAyMDIwIERhbmllbCBCcm9va3NAKgogQ29weXJpZ2h0IEBjb3B5cmlnaHR7fSAyMDIw IEpvaG4gU29vQCoKIENvcHlyaWdodCBAY29weXJpZ2h0e30gMjAyMCBKb25hdGhhbiBCcmllbG1h aWVyQCoKIENvcHlyaWdodCBAY29weXJpZ2h0e30gMjAyMCBFZGdhciBWaW5jZW50QCoKK0NvcHly aWdodCBAY29weXJpZ2h0e30gMjAyMSBNYXhpbWUgRGV2b3NAKgogCiBQZXJtaXNzaW9uIGlzIGdy YW50ZWQgdG8gY29weSwgZGlzdHJpYnV0ZSBhbmQvb3IgbW9kaWZ5IHRoaXMgZG9jdW1lbnQKIHVu ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEZyZWUgRG9jdW1lbnRhdGlvbiBMaWNlbnNlLCBWZXJz aW9uIDEuMyBvcgpAQCAtMTc0NjIsNiArMTc0NjMsMzggQEAgYWRkcmVzcywgZGVsZXRlIGV2ZXJ5 dGhpbmcgZXhjZXB0IHRoZXNlIG9wdGlvbnM6CiBAZW5kIHRhYmxlCiBAZW5kIGRlZnRwCiAKK0Bj aW5kZXggSVBGUworQGRlZnZyIHtTY2hlbWUgVmFyaWFibGV9IGlwZnMtc2VydmljZS10eXBlCitU aGUgc2VydmljZSB0eXBlIGZvciBjb25uZWN0aW5nIHRvIHRoZSBAdXJlZntodHRwczovL2lwZnMu aW8sSVBGUyBuZXR3b3JrfSwKK2EgZ2xvYmFsLCB2ZXJzaW9uZWQsIHBlZXItdG8tcGVlciBmaWxl IHN5c3RlbS4gUGFzcyBpdCBhCitAY29kZXtpcGZzLWNvbmZpZ3VyYXRpb259IHRvIGNoYW5nZSB0 aGUgcG9ydHMgdXNlZCBmb3IgdGhlIGdhdGV3YXkgYW5kIEFQSS4KKworSGVyZSdzIGFuIGV4YW1w bGUgY29uZmlndXJhdGlvbiwgdXNpbmcgc29tZSBub24tc3RhbmRhcmQgcG9ydHM6CisKK0BsaXNw Cis7OyBwYXJ0IG9mIHRoZSBvcGVyYXRpbmctc3lzdGVtIGRlY2xhcmF0aW9uCisoc2VydmljZSBp cGZzLXNlcnZpY2UtdHlwZQorICAgICAgICAgICAgICAoaXBmcy1jb25maWd1cmF0aW9uCisgICAg ICAgICAgICAgICAoZ2F0ZXdheSAiL2lwNC8xMjcuMC4wLjEvdGNwLzg4ODAiKQorICAgICAgICAg ICAgICAgKGFwaSAiL2lwNC8xMjcuMC4wLjEvdGNwLzg4ODEiKSkpCitAZW5kIGxpc3AKK0BlbmQg ZGVmdnIKKworQGRlZnRwIHtEYXRhIFR5cGV9IGlwZnMtY29uZmlndXJhdGlvbgorRGF0YSB0eXBl IHJlcHJlc2VudGluZyB0aGUgY29uZmlndXJhdGlvbiBvZiBJUEZTLgorCitAdGFibGUgQGFzaXMK K0BpdGVtIEBjb2Rle3BhY2thZ2V9IChkZWZhdWx0OiBAY29kZXtnby1pcGZzfSkKK1BhY2thZ2Ug b2JqZWN0IG9mIElQRlMuCisKK0BpdGVtIEBjb2Rle2dhdGV3YXl9IChkZWZhdWx0OiBAY29kZXsi L2lwNC8xMjcuMC4wLjEvdGNwLzgwODIifSkKK0FkZHJlc3Mgb2YgdGhlIGdhdGV3YXksIGluIOKA mG11bHRpYWRkcmVzc+KAmSBmb3JtYXQuCisKK0BpdGVtIEBjb2Rle2FwaX0gKGRlZmF1bHQ6IEBj b2RleyIvaXA0LzEyNy4wLjAuMS90Y3AvNTAwMSJ9KQorQWRkcmVzcyBvZiB0aGUgQVBJIGVuZHBv aW50LCBpbiDigJhtdWx0aWFkZHJlc3PigJkgZm9ybWF0LgorQGVuZCB0YWJsZQorQGVuZCBkZWZ0 cAorCiBAY2luZGV4IGtlZXBhbGl2ZWQKIEBkZWZmbiB7U2NoZW1lIFZhcmlhYmxlfSBrZWVwYWxp dmVkLXNlcnZpY2UtdHlwZQogVGhpcyBpcyB0aGUgdHlwZSBmb3IgdGhlIEB1cmVme2h0dHBzOi8v d3d3LmtlZXBhbGl2ZWQub3JnLywgS2VlcGFsaXZlZH0KZGlmZiAtLWdpdCBhL2dudS9zZXJ2aWNl cy9uZXR3b3JraW5nLnNjbSBiL2dudS9zZXJ2aWNlcy9uZXR3b3JraW5nLnNjbQppbmRleCAyMzFh OWY2NmM3Li42ZTkzYjU2NzE3IDEwMDY0NAotLS0gYS9nbnUvc2VydmljZXMvbmV0d29ya2luZy5z Y20KKysrIGIvZ251L3NlcnZpY2VzL25ldHdvcmtpbmcuc2NtCkBAIC0xNiw2ICsxNiw3IEBACiA7 OzsgQ29weXJpZ2h0IMKpIDIwMjAgQnJpY2UgV2FlZ2VuZWlyZSA8YnJpY2VAd2FlZ2VuZWkucmU+ CiA7OzsgQ29weXJpZ2h0IMKpIDIwMjEgT2xlZyBQeWtoYWxvdiA8Z28ud2lndXN0QGdtYWlsLmNv bT4KIDs7OyBDb3B5cmlnaHQgwqkgMjAyMSBDaHJpc3RvcGhlciBMZW1tZXIgV2ViYmVyIDxjd2Vi YmVyQGR1c3R5Y2xvdWQub3JnPgorOzs7IENvcHlyaWdodCDCqSAyMDIxIE1heGltZSBEZXZvcyA8 bWF4aW1lZGV2b3NAdGVsZW5ldC5iZT4KIDs7OwogOzs7IFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdO VSBHdWl4LgogOzs7CkBAIC01NSw2ICs1Niw4IEBACiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2th Z2VzIG50cCkKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgd2ljZCkKICAgIzp1c2UtbW9k dWxlIChnbnUgcGFja2FnZXMgZ25vbWUpCisgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGlw ZnMpCisgICM6dXNlLW1vZHVsZSAoZ251IGJ1aWxkIGxpbnV4LWNvbnRhaW5lcikKICAgIzp1c2Ut bW9kdWxlIChndWl4IGdleHApCiAgICM6dXNlLW1vZHVsZSAoZ3VpeCByZWNvcmRzKQogICAjOnVz ZS1tb2R1bGUgKGd1aXggbW9kdWxlcykKQEAgLTE5Nyw2ICsyMDAsMTMgQEAKICAgICAgICAgICAg IHlnZ2RyYXNpbC1jb25maWd1cmF0aW9uLWpzb24tY29uZmlnCiAgICAgICAgICAgICB5Z2dkcmFz aWwtY29uZmlndXJhdGlvbi1wYWNrYWdlCiAKKyAgICAgICAgICAgIGlwZnMtc2VydmljZS10eXBl CisgICAgICAgICAgICBpcGZzLWNvbmZpZ3VyYXRpb24KKyAgICAgICAgICAgIGlwZnMtY29uZmln dXJhdGlvbj8KKyAgICAgICAgICAgIGlwZnMtY29uZmlndXJhdGlvbi1wYWNrYWdlCisgICAgICAg ICAgICBpcGZzLWNvbmZpZ3VyYXRpb24tZ2F0ZXdheQorICAgICAgICAgICAgaXBmcy1jb25maWd1 cmF0aW9uLWFwaQorCiAgICAgICAgICAgICBrZWVwYWxpdmVkLWNvbmZpZ3VyYXRpb24KICAgICAg ICAgICAgIGtlZXBhbGl2ZWQtY29uZmlndXJhdGlvbj8KICAgICAgICAgICAgIGtlZXBhbGl2ZWQt c2VydmljZS10eXBlKSkKQEAgLTE4NzYsNiArMTg4NiwxMzcgQEAgU2VlIHlnZ2RyYXNpbCAtZ2Vu Y29uZiBmb3IgY29uZmlnIG9wdGlvbnMuIikKICAgICAgICAgICAoc2VydmljZS1leHRlbnNpb24g cHJvZmlsZS1zZXJ2aWNlLXR5cGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbXBv c2UgbGlzdCB5Z2dkcmFzaWwtY29uZmlndXJhdGlvbi1wYWNrYWdlKSkpKSkpCiAKKwwKKzs7Owor Ozs7IElQRlMKKzs7OworCisoZGVmaW5lLXJlY29yZC10eXBlKiA8aXBmcy1jb25maWd1cmF0aW9u PgorICBpcGZzLWNvbmZpZ3VyYXRpb24KKyAgbWFrZS1pcGZzLWNvbmZpZ3VyYXRpb24KKyAgaXBm cy1jb25maWd1cmF0aW9uPworICAocGFja2FnZSBpcGZzLWNvbmZpZ3VyYXRpb24tcGFja2FnZQor ICAgICAgICAgICAoZGVmYXVsdCBnby1pcGZzKSkKKyAgKGdhdGV3YXkgaXBmcy1jb25maWd1cmF0 aW9uLWdhdGV3YXkKKyAgICAgICAgICAgKGRlZmF1bHQgIi9pcDQvMTI3LjAuMC4xL3RjcC84MDgy IikpCisgIChhcGkgICAgIGlwZnMtY29uZmlndXJhdGlvbi1hcGkKKyAgICAgICAgICAgKGRlZmF1 bHQgIi9pcDQvMTI3LjAuMC4xL3RjcC81MDAxIikpKQorCisoZGVmaW5lICVpcGZzLWhvbWUgIi92 YXIvbGliL2lwZnMiKQorCisoZGVmaW5lICVpcGZzLWFjY291bnRzCisgIChsaXN0ICh1c2VyLWFj Y291bnQKKyAgICAgICAgIChuYW1lICJpcGZzIikKKyAgICAgICAgIChncm91cCAiaXBmcyIpCisg ICAgICAgICAoc3lzdGVtPyAjdCkKKyAgICAgICAgIChjb21tZW50ICJJUEZTIGRhZW1vbiB1c2Vy IikKKyAgICAgICAgIChob21lLWRpcmVjdG9yeSAiL3Zhci9saWIvaXBmcyIpCisgICAgICAgICAo c2hlbGwgKGZpbGUtYXBwZW5kIHNoYWRvdyAiL3NiaW4vbm9sb2dpbiIpKSkKKyAgICAgICAgKHVz ZXItZ3JvdXAKKyAgICAgICAgIChuYW1lICJpcGZzIikKKyAgICAgICAgIChzeXN0ZW0/ICN0KSkp KQorCisoZGVmaW5lIChpcGZzLWJpbmFyeSBjb25maWcpCisgIChmaWxlLWFwcGVuZCAoaXBmcy1j b25maWd1cmF0aW9uLXBhY2thZ2UgY29uZmlnKSAiL2Jpbi9pcGZzIikpCisKKyhkZWZpbmUgJWlw ZnMtaG9tZS1tYXBwaW5nCisgICN+KGZpbGUtc3lzdGVtLW1hcHBpbmcKKyAgICAgKHNvdXJjZSAj JCVpcGZzLWhvbWUpCisgICAgICh0YXJnZXQgIyQlaXBmcy1ob21lKQorICAgICAod3JpdGFibGU/ ICN0KSkpCisKKyhkZWZpbmUgJWlwZnMtZW52aXJvbm1lbnQKKyAgI34obGlzdCAjJChzdHJpbmct YXBwZW5kICJIT01FPSIgJWlwZnMtaG9tZSkpKQorCisoZGVmaW5lIChpcGZzLXNoZXBoZXJkLXNl cnZpY2UgY29uZmlnKQorICAiUmV0dXJuIGEgPHNoZXBoZXJkLXNlcnZpY2U+IGZvciBJUEZTIHdp dGggQ09ORklHLiIKKyAgKGRlZmluZSBpcGZzLWRhZW1vbi1jb21tYW5kCisgICAgI34obGlzdCAj JChpcGZzLWJpbmFyeSBjb25maWcpICJkYWVtb24iKSkKKyAgKGxpc3QKKyAgICh3aXRoLWltcG9y dGVkLW1vZHVsZXMgKHNvdXJjZS1tb2R1bGUtY2xvc3VyZQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgJygoZ251IGJ1aWxkIHNoZXBoZXJkKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoZ251IHN5c3RlbSBmaWxlLXN5c3RlbXMpKSkKKyAgICAgKHNoZXBoZXJkLXNlcnZpY2UKKyAg ICAgIChwcm92aXNpb24gJyhpcGZzKSkKKyAgICAgIDs7IFdoaWxlIElQRlMgaXMgbW9zdCB1c2Vm dWwgd2hlbiB0aGUgbWFjaGluZSBpcyBjb25uZWN0ZWQKKyAgICAgIDs7IHRvIHRoZSBuZXR3b3Jr LCBvbmx5IGxvb3BiYWNrIGlzIHJlcXVpcmVkIGZvciBzdGFydGluZworICAgICAgOzsgdGhlIHNl cnZpY2UuCisgICAgICAocmVxdWlyZW1lbnQgJyhsb29wYmFjaykpCisgICAgICAoZG9jdW1lbnRh dGlvbiAiQ29ubmVjdCB0byB0aGUgSVBGUyBuZXR3b3JrIikKKyAgICAgIChtb2R1bGVzICcoKGdu dSBidWlsZCBzaGVwaGVyZCkKKyAgICAgICAgICAgICAgICAgKGdudSBzeXN0ZW0gZmlsZS1zeXN0 ZW1zKSkpCisgICAgICAoc3RhcnQgI34obWFrZS1mb3JrZXhlYy1jb25zdHJ1Y3Rvci9jb250YWlu ZXIKKyAgICAgICAgICAgICAgICAjJGlwZnMtZGFlbW9uLWNvbW1hbmQKKyAgICAgICAgICAgICAg ICAjOm5hbWVzcGFjZXMgJyMkKGZvbGQgZGVscSAlbmFtZXNwYWNlcyAnKHVzZXIgbmV0KSkKKyAg ICAgICAgICAgICAgICAjOm1hcHBpbmdzIChsaXN0ICMkJWlwZnMtaG9tZS1tYXBwaW5nKQorICAg ICAgICAgICAgICAgICM6bG9nLWZpbGUgIi92YXIvbG9nL2lwZnMubG9nIgorICAgICAgICAgICAg ICAgICM6dXNlciAiaXBmcyIKKyAgICAgICAgICAgICAgICAjOmdyb3VwICJpcGZzIgorICAgICAg ICAgICAgICAgICM6ZW52aXJvbm1lbnQtdmFyaWFibGVzICMkJWlwZnMtZW52aXJvbm1lbnQpKQor ICAgICAgKHN0b3AgI34obWFrZS1raWxsLWRlc3RydWN0b3IpKSkpKSkKKworKGRlZmluZSAoJWlw ZnMtYWN0aXZhdGlvbiBjb25maWcpCisgICJSZXR1cm4gYW4gYWN0aXZhdGlvbiBnZXhwIGZvciBJ UEZTIHdpdGggQ09ORklHIgorICAoZGVmaW5lIChpcGZzLWNvbmZpZy1jb21tYW5kIHNldHRpbmcg dmFsdWUpCisgICAgI34oIyQoaXBmcy1iaW5hcnkgY29uZmlnKSAiY29uZmlnIiAjJHNldHRpbmcg IyR2YWx1ZSkpCisgIChkZWZpbmUgKHNldC1jb25maWchLWdleHAgc2V0dGluZyB2YWx1ZSkKKyAg ICAjfihzeXN0ZW0qICMkQChpcGZzLWNvbmZpZy1jb21tYW5kIHNldHRpbmcgdmFsdWUpKSkKKyAg KGRlZmluZSBzZXR0aW5ncworICAgIGAoKCJBZGRyZXNzZXMuQVBJIiAsKGlwZnMtY29uZmlndXJh dGlvbi1hcGkgY29uZmlnKSkKKyAgICAgICgiQWRkcmVzc2VzLkdhdGV3YXkiICwoaXBmcy1jb25m aWd1cmF0aW9uLWdhdGV3YXkgY29uZmlnKSkpKQorICAoZGVmaW5lIGlubmVyLWdleHAKKyAgICAj fihiZWdpbgorICAgICAgICAodW1hc2sgI28wNzcpCisgICAgICAgIDs7IENyZWF0ZSAkSE9NRS8u aXBmcyBzdHJ1Y3R1cmUKKyAgICAgICAgKHN5c3RlbSogIyQoaXBmcy1iaW5hcnkgY29uZmlnKSAi aW5pdCIpCisgICAgICAgIDs7IEFwcGx5IHNldHRpbmdzCisgICAgICAgICMkQChtYXAgKGN1dGUg YXBwbHkgc2V0LWNvbmZpZyEtZ2V4cCA8Pikgc2V0dGluZ3MpKSkKKyAgKGRlZmluZSBpbm5lci1z Y3JpcHQKKyAgICAocHJvZ3JhbS1maWxlICJpcGZzLWFjdGl2YXRpb24taW5uZXIiIGlubmVyLWdl eHApKQorICA7OyBSdW4gaXBmcyBpbml0IGFuZCBpcGZzIGNvbmZpZyBmcm9tIGEgY29udGFpbmVy LAorICA7OyBpbiBjYXNlIHRoZSBJUEZTIGRhZW1vbiB3YXMgY29tcHJvbWlzZWQgYXQgc29tZSBw b2ludAorICA7OyBhbmQgfi8uaXBmcyBpcyBub3cgYSBzeW1saW5rIHRvIHNvbWV3aGVyZSBvdXRz aWRlCisgIDs7ICVpcGZzLWhvbWUuCisgIChkZWZpbmUgY29udGFpbmVyLWdleHAKKyAgICAod2l0 aC1leHRlbnNpb25zIChsaXN0IHNoZXBoZXJkKQorICAgICAgKHdpdGgtaW1wb3J0ZWQtbW9kdWxl cyAoc291cmNlLW1vZHVsZS1jbG9zdXJlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn KChnbnUgYnVpbGQgc2hlcGhlcmQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChn bnUgc3lzdGVtIGZpbGUtc3lzdGVtcykpKQorICAgICAgICAjfihiZWdpbgorICAgICAgICAgICAg KHVzZS1tb2R1bGVzIChnbnUgYnVpbGQgc2hlcGhlcmQpCisgICAgICAgICAgICAgICAgICAgICAg ICAgKGdudSBzeXN0ZW0gZmlsZS1zeXN0ZW1zKSkKKyAgICAgICAgICAgIChsZXQqICgoY29uc3Ry dWN0b3IKKyAgICAgICAgICAgICAgICAgICAgKG1ha2UtZm9ya2V4ZWMtY29uc3RydWN0b3IvY29u dGFpbmVyCisgICAgICAgICAgICAgICAgICAgICAobGlzdCAjJGlubmVyLXNjcmlwdCkKKyAgICAg ICAgICAgICAgICAgICAgICM6bmFtZXNwYWNlcyAnIyQoZm9sZCBkZWxxICVuYW1lc3BhY2VzICco dXNlcikpCisgICAgICAgICAgICAgICAgICAgICAjOm1hcHBpbmdzIChsaXN0ICMkJWlwZnMtaG9t ZS1tYXBwaW5nKQorICAgICAgICAgICAgICAgICAgICAgIzp1c2VyICJpcGZzIgorICAgICAgICAg ICAgICAgICAgICAgIzpncm91cCAiaXBmcyIKKyAgICAgICAgICAgICAgICAgICAgICM6ZW52aXJv bm1lbnQtdmFyaWFibGVzICMkJWlwZnMtZW52aXJvbm1lbnQpKQorICAgICAgICAgICAgICAgICAg IChwaWQgKGNvbnN0cnVjdG9yKSkpCisgICAgICAgICAgICAgICh3YWl0cGlkIHBpZCkpKSkpKQor ICA7OyBUaGUgYWN0aXZhdGlvbiBtYXkgaGFwcGVuIGZyb20gdGhlIGluaXRyZCwgd2hpY2ggdXNl cworICA7OyBhIHN0YXRpY2FsbHktbGlua2VkIGd1aWxlLCB3aGlsZSB0aGUgZ3VpeCBjb250YWlu ZXIKKyAgOzsgcHJvY2VkdXJlcyByZXF1aXJlIGEgd29ya2luZyBkeW5hbWljLWxpbmsuCisgIChk ZWZpbmUgY29udGFpbmVyLXNjcmlwdAorICAgIChwcm9ncmFtLWZpbGUgImlwZnMtYWN0aXZhdGlv bi1jb250YWluZXIiIGNvbnRhaW5lci1nZXhwKSkKKyAgI34oc3lzdGVtKiAjJGNvbnRhaW5lci1z Y3JpcHQpKQorCisoZGVmaW5lIGlwZnMtc2VydmljZS10eXBlCisgIChzZXJ2aWNlLXR5cGUKKyAg IChuYW1lICdpcGZzKQorICAgKGV4dGVuc2lvbnMKKyAgICAobGlzdCAoc2VydmljZS1leHRlbnNp b24gYWNjb3VudC1zZXJ2aWNlLXR5cGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNv bnN0ICVpcGZzLWFjY291bnRzKSkKKyAgICAgICAgICAoc2VydmljZS1leHRlbnNpb24gYWN0aXZh dGlvbi1zZXJ2aWNlLXR5cGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJWlwZnMtYWN0 aXZhdGlvbikKKyAgICAgICAgICAoc2VydmljZS1leHRlbnNpb24gc2hlcGhlcmQtcm9vdC1zZXJ2 aWNlLXR5cGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXBmcy1zaGVwaGVyZC1zZXJ2 aWNlKSkpCisgICAoZGVmYXVsdC12YWx1ZSAoaXBmcy1jb25maWd1cmF0aW9uKSkKKyAgIChkZXNj cmlwdGlvbgorICAgICJSdW4gQGNvbW1hbmR7aXBmcyBkYWVtb259LCB0aGUgcmVmZXJlbmNlIGlt cGxlbWVudGF0aW9uCitvZiB0aGUgSVBGUyBwMnAgc3RvcmFnZSBuZXR3b3JrLiIpKSkKKwogDAog Ozs7CiA7OzsgS2VlcGFsaXZlZAotLSAKMi4zMS4wCgo= --=-4fQ/b2+OM9ALP4I5bmy3 Content-Disposition: attachment; filename="0002-Add-guix-ipfs.patch" Content-Type: text/x-patch; name="0002-Add-guix-ipfs.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSBjMDAwYWRjMWRhNDBhNDYwOTQzZGFiY2FiNjE0Mjk4MWFkZmFkOWU5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/THVkb3ZpYz0yMENvdXJ0PUMzPUE4cz89IDxs dWRvQGdudS5vcmc+CkRhdGU6IEZyaSwgMjggRGVjIDIwMTggMDE6MDc6NTggKzAxMDAKU3ViamVj dDogW1BBVENIIDIvM10gQWRkIChndWl4IGlwZnMpLgoKVGhpcyBtb2R1bGUgYWxsb3dzIGZvciBj b21tdW5pY2F0aW5nIHdpdGggdGhlIElQRlMKZ2F0ZXdheSBvdmVyIHRoZSBIVFRQIGludGVyZmFj ZS4gIFRoZSBjb21taXQgaGFzIGJlZW4KY2hlcnJ5LXBpY2tlZCBmcm9tIDxodHRwczovL2lzc3Vl cy5ndWl4LmdudS5vcmcvMzM4OTk+LgoKVGhlIHByb2NlZHVyZXMgZm9yIGFkZGluZyBhbmQgcmVz dG9yaW5nIGZpbGUgdHJlZXMgaGF2ZQpiZWVuIHJlbW92ZWQgYXMgYWNjb3JkaW5nIHRvIGEgcmVw bHkgaXNzdWUgMzM4OTksIGEgZGlmZmVyZW50CmZvcm1hdCB3aWxsIGJlIHVzZWQuICBUaGUgcHJv Y2VkdXJlICdhZGQtZGF0YScgaGFzIGJlZW4KZXhwb3J0ZWQgYXMgaXQgd2lsbCBiZSB1c2VkIGlu IHRoZSBzeXN0ZW0gdGVzdCBmb3IgSVBGUy4KCiogZ3VpeC9pcGZzLnNjbTogTmV3IGZpbGUuCiog TWFrZWZpbGUuYW0gKE1PRFVMRVMpOiBBZGQgaXQuCi0tLQogTWFrZWZpbGUuYW0gICAgfCAgIDEg KwogZ3VpeC9pcGZzLnNjbSAgfCAxODMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKwogdGVzdHMvaXBmcy5zY20gfCAgNTUgKysrKysrKysrKysrKysrCiAz IGZpbGVzIGNoYW5nZWQsIDIzOSBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ3Vp eC9pcGZzLnNjbQogY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3RzL2lwZnMuc2NtCgpkaWZmIC0tZ2l0 IGEvTWFrZWZpbGUuYW0gYi9NYWtlZmlsZS5hbQppbmRleCAxYzJkNDU1MjdjLi4xN2FkMjM2NjU1 IDEwMDY0NAotLS0gYS9NYWtlZmlsZS5hbQorKysgYi9NYWtlZmlsZS5hbQpAQCAtMTI2LDYgKzEy Niw3IEBAIE1PRFVMRVMgPQkJCQkJXAogICBndWl4L2NhY2hlLnNjbQkJCQlcCiAgIGd1aXgvY3Zl LnNjbQkJCQkJXAogICBndWl4L3dvcmtlcnMuc2NtCQkJCVwKKyAgZ3VpeC9pcGZzLnNjbQkJCQkJ XAogICBndWl4L2J1aWxkLXN5c3RlbS5zY20JCQkJXAogICBndWl4L2J1aWxkLXN5c3RlbS9hbmRy b2lkLW5kay5zY20JCVwKICAgZ3VpeC9idWlsZC1zeXN0ZW0vYW50LnNjbQkJCVwKZGlmZiAtLWdp dCBhL2d1aXgvaXBmcy5zY20gYi9ndWl4L2lwZnMuc2NtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAuLjMxYTg5ODg4YTcKLS0tIC9kZXYvbnVsbAorKysgYi9ndWl4L2lwZnMu c2NtCkBAIC0wLDAgKzEsMTgzIEBACis7OzsgR05VIEd1aXggLS0tIEZ1bmN0aW9uYWwgcGFja2Fn ZSBtYW5hZ2VtZW50IGZvciBHTlUKKzs7OyBDb3B5cmlnaHQgwqkgMjAxOCBMdWRvdmljIENvdXJ0 w6hzIDxsdWRvQGdudS5vcmc+Cis7OzsKKzs7OyBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgR3Vp eC4KKzs7OworOzs7IEdOVSBHdWl4IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKKzs7OyB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorOzs7IHRoZSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAor Ozs7IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKzs7OworOzs7IEdOVSBHdWl4IGlz IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAorOzs7 IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg b2YKKzs7OyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UuICBTZWUgdGhlCis7OzsgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KKzs7OworOzs7IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCis7OzsgYWxvbmcgd2l0aCBHTlUgR3VpeC4gIElmIG5v dCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKworKGRlZmluZS1tb2R1bGUg KGd1aXggaXBmcykKKyAgIzp1c2UtbW9kdWxlIChqc29uKQorICAjOnVzZS1tb2R1bGUgKGd1aXgg YmFzZTY0KQorICAjOnVzZS1tb2R1bGUgKChndWl4IGJ1aWxkIHV0aWxzKSAjOnNlbGVjdCAoZHVt cC1wb3J0KSkKKyAgIzp1c2UtbW9kdWxlIChzcmZpIHNyZmktMSkKKyAgIzp1c2UtbW9kdWxlIChz cmZpIHNyZmktMTEpCisgICM6dXNlLW1vZHVsZSAoc3JmaSBzcmZpLTI2KQorICAjOnVzZS1tb2R1 bGUgKHJucnMgaW8gcG9ydHMpCisgICM6dXNlLW1vZHVsZSAocm5ycyBieXRldmVjdG9ycykKKyAg Izp1c2UtbW9kdWxlIChpY2UtOSBtYXRjaCkKKyAgIzp1c2UtbW9kdWxlIChpY2UtOSBmdHcpCisg ICM6dXNlLW1vZHVsZSAod2ViIHVyaSkKKyAgIzp1c2UtbW9kdWxlICh3ZWIgY2xpZW50KQorICAj OnVzZS1tb2R1bGUgKHdlYiByZXNwb25zZSkKKyAgIzpleHBvcnQgKCVpcGZzLWJhc2UtdXJsCisg ICAgICAgICAgICBhZGQtZGF0YQorICAgICAgICAgICAgYWRkLWZpbGUKKworICAgICAgICAgICAg Y29udGVudD8KKyAgICAgICAgICAgIGNvbnRlbnQtbmFtZQorICAgICAgICAgICAgY29udGVudC1o YXNoCisgICAgICAgICAgICBjb250ZW50LXNpemUKKworICAgICAgICAgICAgYWRkLWVtcHR5LWRp cmVjdG9yeQorICAgICAgICAgICAgYWRkLXRvLWRpcmVjdG9yeQorICAgICAgICAgICAgcmVhZC1j b250ZW50cworICAgICAgICAgICAgcHVibGlzaC1uYW1lKSkKKworOzs7IENvbW1lbnRhcnk6Cis7 OzsKKzs7OyBUaGlzIG1vZHVsZSBpbXBsZW1lbnRzIGJpbmRpbmdzIGZvciB0aGUgSFRUUCBpbnRl cmZhY2Ugb2YgdGhlIElQRlMKKzs7OyBnYXRld2F5LCBkb2N1bWVudGVkIGhlcmU6IDxodHRwczov L2RvY3MuaXBmcy5pby9yZWZlcmVuY2UvYXBpL2h0dHAvPi4gIEl0Cis7OzsgYWxsb3dzIHlvdSB0 byBhZGQgYW5kIHJldHJpZXZlIGZpbGVzIG92ZXIgSVBGUywgYW5kIGEgZmV3IG90aGVyIHRoaW5n cy4KKzs7OworOzs7IENvZGU6CisKKyhkZWZpbmUgJWlwZnMtYmFzZS11cmwKKyAgOzsgVVJMIG9m IHRoZSBJUEZTIGdhdGV3YXkuCisgIChtYWtlLXBhcmFtZXRlciAiaHR0cDovL2xvY2FsaG9zdDo1 MDAxIikpCisKKyhkZWZpbmUqIChjYWxsIHVybCBkZWNvZGUgIzpvcHRpb25hbCAobWV0aG9kIGh0 dHAtcG9zdCkKKyAgICAgICAgICAgICAgICM6a2V5IGJvZHkgKGZhbHNlLWlmLTQwND8gI3QpICho ZWFkZXJzICcoKSkpCisgICJJbnZva2UgdGhlIGVuZHBvaW50IGF0IFVSTCB1c2luZyBNRVRIT0Qu ICBEZWNvZGUgdGhlIHJlc3VsdGluZyBKU09OIGJvZHkKK3VzaW5nIERFQ09ERSwgYSBvbmUtYXJn dW1lbnQgcHJvY2VkdXJlIHRoYXQgdGFrZXMgYW4gaW5wdXQgcG9ydDsgd2hlbiBERUNPREUKK2lz IGZhbHNlLCByZXR1cm4gdGhlIGlucHV0IHBvcnQuICBXaGVuIEZBTFNFLUlGLTQwND8gaXMgdHJ1 ZSwgcmV0dXJuICNmIHVwb24KKzQwNCByZXNwb25zZXMuIgorICAobGV0Ki12YWx1ZXMgKCgocmVz cG9uc2UgcG9ydCkKKyAgICAgICAgICAgICAgICAgKG1ldGhvZCB1cmwgIzpzdHJlYW1pbmc/ICN0 CisgICAgICAgICAgICAgICAgICAgICAgICAgIzpib2R5IGJvZHkKKworICAgICAgICAgICAgICAg ICAgICAgICAgIDs7IEFsd2F5cyBwYXNzICJDb25uZWN0aW9uOiBjbG9zZSIuCisgICAgICAgICAg ICAgICAgICAgICAgICAgIzprZWVwLWFsaXZlPyAjZgorICAgICAgICAgICAgICAgICAgICAgICAg ICM6aGVhZGVycyBgKChjb25uZWN0aW9uIGNsb3NlKQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICxAaGVhZGVycykpKSkKKyAgICAoY29uZCAoKD0gMjAwIChyZXNwb25zZS1j b2RlIHJlc3BvbnNlKSkKKyAgICAgICAgICAgKGlmIGRlY29kZQorICAgICAgICAgICAgICAgKGxl dCAoKHJlc3VsdCAoZGVjb2RlIHBvcnQpKSkKKyAgICAgICAgICAgICAgICAgKGNsb3NlLXBvcnQg cG9ydCkKKyAgICAgICAgICAgICAgICAgcmVzdWx0KQorICAgICAgICAgICAgICAgcG9ydCkpCisg ICAgICAgICAgKChhbmQgZmFsc2UtaWYtNDA0PworICAgICAgICAgICAgICAgICg9IDQwNCAocmVz cG9uc2UtY29kZSByZXNwb25zZSkpKQorICAgICAgICAgICAoY2xvc2UtcG9ydCBwb3J0KQorICAg ICAgICAgICAjZikKKyAgICAgICAgICAoZWxzZQorICAgICAgICAgICAoY2xvc2UtcG9ydCBwb3J0 KQorICAgICAgICAgICAodGhyb3cgJ2lwZnMtZXJyb3IgdXJsIHJlc3BvbnNlKSkpKSkKKworOzsg UmVzdWx0IG9mIGEgZmlsZSBhZGRpdGlvbi4KKyhkZWZpbmUtanNvbi1tYXBwaW5nIDxjb250ZW50 PiBtYWtlLWNvbnRlbnQgY29udGVudD8KKyAganNvbi0+Y29udGVudAorICAobmFtZSAgIGNvbnRl bnQtbmFtZSAiTmFtZSIpCisgIChoYXNoICAgY29udGVudC1oYXNoICJIYXNoIikKKyAgKGJ5dGVz ICBjb250ZW50LWJ5dGVzICJCeXRlcyIpCisgIChzaXplICAgY29udGVudC1zaXplICJTaXplIiBz dHJpbmctPm51bWJlcikpCisKKzs7IFJlc3VsdCBvZiBhICdwYXRjaC9hZGQtbGluaycgb3BlcmF0 aW9uLgorKGRlZmluZS1qc29uLW1hcHBpbmcgPGRpcmVjdG9yeT4gbWFrZS1kaXJlY3RvcnkgZGly ZWN0b3J5PworICBqc29uLT5kaXJlY3RvcnkKKyAgKGhhc2ggICBkaXJlY3RvcnktaGFzaCAiSGFz aCIpCisgIChsaW5rcyAgZGlyZWN0b3J5LWxpbmtzICJMaW5rcyIganNvbi0+bGlua3MpKQorCis7 OyBBICJsaW5rIi4KKyhkZWZpbmUtanNvbi1tYXBwaW5nIDxsaW5rPiBtYWtlLWxpbmsgbGluaz8K KyAganNvbi0+bGluaworICAobmFtZSAgIGxpbmstbmFtZSAiTmFtZSIpCisgIChoYXNoICAgbGlu ay1oYXNoICJIYXNoIikKKyAgKHNpemUgICBsaW5rLXNpemUgIlNpemUiIHN0cmluZy0+bnVtYmVy KSkKKworOzsgQSAiYmluZGluZyIsIGFsc28ga25vd24gYXMgYSAibmFtZSIuCisoZGVmaW5lLWpz b24tbWFwcGluZyA8YmluZGluZz4gbWFrZS1iaW5kaW5nIGJpbmRpbmc/CisgIGpzb24tPmJpbmRp bmcKKyAgKG5hbWUgICBiaW5kaW5nLW5hbWUgIk5hbWUiKQorICAodmFsdWUgIGJpbmRpbmctdmFs dWUgIlZhbHVlIikpCisKKyhkZWZpbmUgKGpzb24tPmxpbmtzIGpzb24pCisgIChtYXRjaCBqc29u CisgICAgKCNmICAgICcoKSkKKyAgICAobGlua3MgKG1hcCBqc29uLT5saW5rIGxpbmtzKSkpKQor CisoZGVmaW5lICVtdWx0aXBhcnQtYm91bmRhcnkKKyAgOzsgWFhYOiBXZSBtaWdodCB3YW50IHRv IGZpbmQgYSBtb3JlIHJlbGlhYmxlIGJvdW5kYXJ5LgorICAoc3RyaW5nLWFwcGVuZCAobWFrZS1z dHJpbmcgMjQgI1wtKSAiMjY5ODEyN2FmZDc0MjVhNiIpKQorCisoZGVmaW5lIChieXRldmVjdG9y LT5mb3JtLWRhdGEgYnYgcG9ydCkKKyAgIldyaXRlIHRvIFBPUlQgYSAnbXVsdGlwYXJ0L2Zvcm0t ZGF0YScgcmVwcmVzZW50YXRpb24gb2YgQlYuIgorICAoZGlzcGxheSAoc3RyaW5nLWFwcGVuZCAi LS0iICVtdWx0aXBhcnQtYm91bmRhcnkgIlxyXG4iCisgICAgICAgICAgICAgICAgICAgICAgICAg ICJDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGFcclxuIgorICAgICAgICAgICAgICAgICAg ICAgICAgICAiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW1cclxuXHJcbiIp CisgICAgICAgICAgIHBvcnQpCisgIChwdXQtYnl0ZXZlY3RvciBwb3J0IGJ2KQorICAoZGlzcGxh eSAoc3RyaW5nLWFwcGVuZCAiXHJcbi0tIiAlbXVsdGlwYXJ0LWJvdW5kYXJ5ICItLVxyXG4iKQor ICAgICAgICAgICBwb3J0KSkKKworKGRlZmluZSogKGFkZC1kYXRhIGRhdGEgIzprZXkgKG5hbWUg ImZpbGUudHh0IikgcmVjdXJzaXZlPykKKyAgIkFkZCBEQVRBLCBhIGJ5dGV2ZWN0b3IsIHRvIElQ RlMuICBSZXR1cm4gYSBjb250ZW50IG9iamVjdCByZXByZXNlbnRpbmcgaXQuIgorICAoY2FsbCAo c3RyaW5nLWFwcGVuZCAoJWlwZnMtYmFzZS11cmwpCisgICAgICAgICAgICAgICAgICAgICAgICIv YXBpL3YwL2FkZD9hcmc9IiAodXJpLWVuY29kZSBuYW1lKQorICAgICAgICAgICAgICAgICAgICAg ICAiJnJlY3Vyc2l2ZT0iCisgICAgICAgICAgICAgICAgICAgICAgIChpZiByZWN1cnNpdmU/ICJ0 cnVlIiAiZmFsc2UiKSkKKyAgICAgICAganNvbi0+Y29udGVudAorICAgICAgICAjOmhlYWRlcnMK KyAgICAgICAgYCgoY29udGVudC10eXBlCisgICAgICAgICAgIC4gKG11bHRpcGFydC9mb3JtLWRh dGEKKyAgICAgICAgICAgICAgKGJvdW5kYXJ5IC4gLCVtdWx0aXBhcnQtYm91bmRhcnkpKSkpCisg ICAgICAgICM6Ym9keQorICAgICAgICAoY2FsbC13aXRoLWJ5dGV2ZWN0b3Itb3V0cHV0LXBvcnQK KyAgICAgICAgIChsYW1iZGEgKHBvcnQpCisgICAgICAgICAgIChieXRldmVjdG9yLT5mb3JtLWRh dGEgZGF0YSBwb3J0KSkpKSkKKworKGRlZmluZSAobm90LWRvdD8gZW50cnkpCisgIChub3QgKG1l bWJlciBlbnRyeSAnKCIuIiAiLi4iKSkpKQorCisoZGVmaW5lKiAoYWRkLWZpbGUgZmlsZSAjOmtl eSAobmFtZSAoYmFzZW5hbWUgZmlsZSkpKQorICAiQWRkIEZJTEUgdW5kZXIgTkFNRSB0byB0aGUg SVBGUyBhbmQgcmV0dXJuIGEgY29udGVudCBvYmplY3QgZm9yIGl0LiIKKyAgKGFkZC1kYXRhICht YXRjaCAoY2FsbC13aXRoLWlucHV0LWZpbGUgZmlsZSBnZXQtYnl0ZXZlY3Rvci1hbGwpCisgICAg ICAgICAgICAgICgoPyBlb2Ytb2JqZWN0PykgI3Z1OCgpKQorICAgICAgICAgICAgICAoYnYgYnYp KQorICAgICAgICAgICAgIzpuYW1lIG5hbWUpKQorCisoZGVmaW5lKiAoYWRkLWVtcHR5LWRpcmVj dG9yeSAjOmtleSAobmFtZSAiZGlyZWN0b3J5IikpCisgICJSZXR1cm4gYSBjb250ZW50IG9iamVj dCBmb3IgYW4gZW1wdHkgZGlyZWN0b3J5LiIKKyAgKGFkZC1kYXRhICN2dTgoKSAjOnJlY3Vyc2l2 ZT8gI3QgIzpuYW1lIG5hbWUpKQorCisoZGVmaW5lKiAoYWRkLXRvLWRpcmVjdG9yeSBkaXJlY3Rv cnkgZmlsZSBuYW1lKQorICAiQWRkIEZJTEUgdG8gRElSRUNUT1JZIHVuZGVyIE5BTUUsIGFuZCBy ZXR1cm4gdGhlIHJlc3VsdGluZyBkaXJlY3RvcnkuCitESVJFQ1RPUlkgYW5kIEZJTEUgbXVzdCBi ZSBoYXNoZXMgaWRlbnRpZnlpbmcgb2JqZWN0cyBpbiB0aGUgSVBGUyBzdG9yZS4iCisgIChjYWxs IChzdHJpbmctYXBwZW5kICglaXBmcy1iYXNlLXVybCkKKyAgICAgICAgICAgICAgICAgICAgICAg Ii9hcGkvdjAvb2JqZWN0L3BhdGNoL2FkZC1saW5rP2FyZz0iCisgICAgICAgICAgICAgICAgICAg ICAgICh1cmktZW5jb2RlIGRpcmVjdG9yeSkKKyAgICAgICAgICAgICAgICAgICAgICAgIiZhcmc9 IiAodXJpLWVuY29kZSBuYW1lKSAiJmFyZz0iICh1cmktZW5jb2RlIGZpbGUpCisgICAgICAgICAg ICAgICAgICAgICAgICImY3JlYXRlPXRydWUiKQorICAgICAgICBqc29uLT5kaXJlY3RvcnkpKQor CisoZGVmaW5lKiAocmVhZC1jb250ZW50cyBvYmplY3QgIzprZXkgb2Zmc2V0IGxlbmd0aCkKKyAg IlJldHVybiBhbiBpbnB1dCBwb3J0IHRvIHJlYWQgdGhlIGNvbnRlbnQgb2YgT0JKRUNUIGZyb20u IgorICAoY2FsbCAoc3RyaW5nLWFwcGVuZCAoJWlwZnMtYmFzZS11cmwpCisgICAgICAgICAgICAg ICAgICAgICAgICIvYXBpL3YwL2NhdD9hcmc9IiBvYmplY3QpCisgICAgICAgICNmKSkKKworKGRl ZmluZSogKHB1Ymxpc2gtbmFtZSBvYmplY3QpCisgICJQdWJsaXNoIE9CSkVDVCB1bmRlciB0aGUg Y3VycmVudCBwZWVyIElELiIKKyAgKGNhbGwgKHN0cmluZy1hcHBlbmQgKCVpcGZzLWJhc2UtdXJs KQorICAgICAgICAgICAgICAgICAgICAgICAiL2FwaS92MC9uYW1lL3B1Ymxpc2g/YXJnPSIgb2Jq ZWN0KQorICAgICAgICBqc29uLT5iaW5kaW5nKSkKZGlmZiAtLWdpdCBhL3Rlc3RzL2lwZnMuc2Nt IGIvdGVzdHMvaXBmcy5zY20KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4u M2I2NjJiMjJiZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2lwZnMuc2NtCkBAIC0wLDAgKzEs NTUgQEAKKzs7OyBHTlUgR3VpeCAtLS0gRnVuY3Rpb25hbCBwYWNrYWdlIG1hbmFnZW1lbnQgZm9y IEdOVQorOzs7IENvcHlyaWdodCDCqSAyMDE4IEx1ZG92aWMgQ291cnTDqHMgPGx1ZG9AZ251Lm9y Zz4KKzs7OworOzs7IFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBHdWl4LgorOzs7Cis7OzsgR05V IEd1aXggaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1v ZGlmeSBpdAorOzs7IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5Cis7OzsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg ZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cis7OzsgeW91ciBvcHRpb24p IGFueSBsYXRlciB2ZXJzaW9uLgorOzs7Cis7OzsgR05VIEd1aXggaXMgZGlzdHJpYnV0ZWQgaW4g dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0Cis7OzsgV0lUSE9VVCBBTlkgV0FS UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorOzs7IE1FUkNIQU5U QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKzs7 OyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorOzs7Cis7Ozsg WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UKKzs7OyBhbG9uZyB3aXRoIEdOVSBHdWl4LiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93 d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorCisoZGVmaW5lLW1vZHVsZSAodGVzdC1pcGZzKQorICAj OnVzZS1tb2R1bGUgKGd1aXggaXBmcykKKyAgIzp1c2UtbW9kdWxlICgoZ3VpeCB1dGlscykgIzpz ZWxlY3QgKGNhbGwtd2l0aC10ZW1wb3JhcnktZGlyZWN0b3J5KSkKKyAgIzp1c2UtbW9kdWxlIChn dWl4IHRlc3RzKQorICAjOnVzZS1tb2R1bGUgKHdlYiB1cmkpCisgICM6dXNlLW1vZHVsZSAoc3Jm aSBzcmZpLTY0KSkKKworOzsgVGVzdCB0aGUgKGd1aXggaXBmcykgbW9kdWxlLgorCisoZGVmaW5l IChpcGZzLWdhdGV3YXktcnVubmluZz8pCisgICJSZXR1cm4gdHJ1ZSBpZiB0aGUgSVBGUyBnYXRl d2F5IGlzIHJ1bm5pbmcgYXQgJUlQRlMtQkFTRS1VUkwuIgorICAobGV0KiAoKHVyaSAgICAoc3Ry aW5nLT51cmkgKCVpcGZzLWJhc2UtdXJsKSkpCisgICAgICAgICAoc29ja2V0IChzb2NrZXQgQUZf SU5FVCBTT0NLX1NUUkVBTSAwKSkpCisgICAgKGRlZmluZSBjb25uZWN0ZWQ/CisgICAgICAoY2F0 Y2ggJ3N5c3RlbS1lcnJvcgorICAgICAgICAobGFtYmRhICgpCisgICAgICAgICAgKGZvcm1hdCAo Y3VycmVudC1lcnJvci1wb3J0KQorICAgICAgICAgICAgICAgICAgInByb2JpbmcgSVBGUyBnYXRl d2F5IGF0IGxvY2FsaG9zdDp+YS4uLn4lIgorICAgICAgICAgICAgICAgICAgKHVyaS1wb3J0IHVy aSkpCisgICAgICAgICAgKGNvbm5lY3Qgc29ja2V0IEFGX0lORVQgSU5BRERSX0xPT1BCQUNLICh1 cmktcG9ydCB1cmkpKQorICAgICAgICAgICN0KQorICAgICAgICAoY29uc3QgI2YpKSkKKworICAg IChjbG9zZS1wb3J0IHNvY2tldCkKKyAgICBjb25uZWN0ZWQ/KSkKKworKHVubGVzcyAoaXBmcy1n YXRld2F5LXJ1bm5pbmc/KQorICAodGVzdC1za2lwIDEpKQorCisodGVzdC1hc3NlcnQgImFkZC1m aWxlLXRyZWUgKyByZXN0b3JlLWZpbGUtdHJlZSIKKyAgKGNhbGwtd2l0aC10ZW1wb3JhcnktZGly ZWN0b3J5CisgICAobGFtYmRhIChkaXJlY3RvcnkpCisgICAgIChsZXQqICgoc291cmNlICAoZGly bmFtZSAoc2VhcmNoLXBhdGggJWxvYWQtcGF0aCAiZ3VpeC9iYXNlMzIuc2NtIikpKQorICAgICAg ICAgICAgKHRhcmdldCAgKHN0cmluZy1hcHBlbmQgZGlyZWN0b3J5ICIvciIpKQorICAgICAgICAg ICAgKGNvbnRlbnQgKHBrICdjb250ZW50IChhZGQtZmlsZS10cmVlIHNvdXJjZSkpKSkKKyAgICAg ICAocmVzdG9yZS1maWxlLXRyZWUgKGNvbnRlbnQtbmFtZSBjb250ZW50KSB0YXJnZXQpCisgICAg ICAgKGZpbGU9PyBzb3VyY2UgdGFyZ2V0KSkpKSkKLS0gCjIuMzEuMAoK --=-4fQ/b2+OM9ALP4I5bmy3 Content-Disposition: attachment; filename*0=0003-gnu-tests-Test-basic-funtionality-of-the-IPFS-servic.pat; filename*1=ch Content-Type: text/x-patch; name="0003-gnu-tests-Test-basic-funtionality-of-the-IPFS-servic.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSA3MzJjMDE4YjlkMjRmMGYzNjcwMGM2Zjg3MTVlOTg5ZWUzZDk0NjYzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXhpbWUgRGV2b3MgPG1heGltZWRldm9zQHRlbGVuZXQuYmU+ CkRhdGU6IFN1biwgMjggTWFyIDIwMjEgMTc6MDE6NDkgKzAyMDAKU3ViamVjdDogW1BBVENIIDMv M10gZ251OiB0ZXN0czogVGVzdCBiYXNpYyBmdW50aW9uYWxpdHkgb2YgdGhlIElQRlMgc2Vydmlj ZS4KCkl0IGlzIHRlc3RlZCB3aGV0aGVyIHRoZSBJUEZTIHNlcnZpY2UgbGlzdGVucwphdCB0aGUg Z2F0ZXdheSBhbmQgQVBJIHBvcnRzIGFuZCB3aGV0aGVyIGl0CmlzIHBvc3NpYmxlIHRvIHVwbG9h ZCBhbmQgZG93bmxvYWQgYSBieXRldmVjdG9yLgoKVE9ETzogdGhpcyB0ZXN0IGlzbid0IHJ1biBm b3Igc29tZSByZWFzb246CgokIG1ha2UgJiYgbWFrZSBjaGVjay1zeXN0ZW0gVEVTVFM9ImlwZnMi Cj4gW2NvbXBpbGF0aW9uIGJsYSBibGFdCj4gQ29tcGlsaW5nIFNjaGVtZSBtb2R1bGVzLi4uCj4g U2VsZWN0ZWQgMSBzeXN0ZW0gdGVzdHMuLi4KPiAoZW5kIG9mIG91dHB1dCkKCj8/PyB3aHkgaXNu J3QgdGhlIElQRlMgdGVzdCBleGVjdXRlZD8KCiogZ251L3Rlc3RzL25ldHdvcmtpbmcuc2NtCiAg KCVpcGZzLW9zKTogTmV3IHZhcmlhYmxlLgogIChydW4taXBmcy10ZXN0KTogTmV3IHByb2NlZHVy ZS4KICAoJXRlc3QtaXBmcyk6IE5ldyBzeXN0ZW0gdGVzdC4KLS0tCiBnbnUvdGVzdHMvbmV0d29y a2luZy5zY20gfCA4MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCiAx IGZpbGUgY2hhbmdlZCwgODAgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdp dCBhL2dudS90ZXN0cy9uZXR3b3JraW5nLnNjbSBiL2dudS90ZXN0cy9uZXR3b3JraW5nLnNjbQpp bmRleCAwMjI2NjNhYTY3Li5mODg2ZWFjODgxIDEwMDY0NAotLS0gYS9nbnUvdGVzdHMvbmV0d29y a2luZy5zY20KKysrIGIvZ251L3Rlc3RzL25ldHdvcmtpbmcuc2NtCkBAIC0zLDYgKzMsNyBAQAog Ozs7IENvcHlyaWdodCDCqSAyMDE3LCAyMDIwIE1hcml1cyBCYWtrZSA8bWFyaXVzQGdudS5vcmc+ CiA7OzsgQ29weXJpZ2h0IMKpIDIwMTggQ2hyaXMgTWFydXNpY2ggPGNtbWFydXNpY2hAZ21haWwu Y29tPgogOzs7IENvcHlyaWdodCDCqSAyMDE4IEFydW4gSXNhYWMgPGFydW5pc2FhY0BzeXN0ZW1y ZWJvb3QubmV0PgorOzs7IENvcHlyaWdodCDCqSAyMDIxIE1heGltZSBEZXZvcyA8bWF4aW1lZGV2 b3NAdGVsZW5ldC5iZT4KIDs7OwogOzs7IFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBHdWl4Lgog Ozs7CkBAIC0zNCw3ICszNSw4IEBACiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIG5ldHdv cmtpbmcpCiAgICM6dXNlLW1vZHVsZSAoZ251IHNlcnZpY2VzIHNoZXBoZXJkKQogICAjOnVzZS1t b2R1bGUgKGljZS05IG1hdGNoKQotICAjOmV4cG9ydCAoJXRlc3QtaW5ldGQgJXRlc3Qtb3BlbnZz d2l0Y2ggJXRlc3QtZGhjcGQgJXRlc3QtdG9yICV0ZXN0LWlwdGFibGVzKSkKKyAgIzpleHBvcnQg KCV0ZXN0LWluZXRkICV0ZXN0LW9wZW52c3dpdGNoICV0ZXN0LWRoY3BkICV0ZXN0LXRvciAldGVz dC1pcHRhYmxlcworICAgICAgICAgICAgICAgICAgICAgICAgJXRlc3QtaXBmcykpCiAKIChkZWZp bmUgJWluZXRkLW9zCiAgIDs7IE9wZXJhdGluZyBzeXN0ZW0gd2l0aCAyIGluZXRkIHNlcnZpY2Vz LgpAQCAtNTYzLDMgKzU2NSw4MCBAQCBDT01NSVQKICAgIChuYW1lICJpcHRhYmxlcyIpCiAgICAo ZGVzY3JpcHRpb24gIlRlc3QgYSBydW5uaW5nIGlwdGFibGVzIGRhZW1vbi4iKQogICAgKHZhbHVl IChydW4taXB0YWJsZXMtdGVzdCkpKSkKKworDAorOzs7Cis7OzsgSVBGUyBzZXJ2aWNlCis7OzsK KworKGRlZmluZSAlaXBmcy1vcworICAoc2ltcGxlLW9wZXJhdGluZy1zeXN0ZW0KKyAgIChzZXJ2 aWNlIGlwZnMtc2VydmljZS10eXBlKSkpCisKKyhkZWZpbmUgKHJ1bi1pcGZzLXRlc3QpCisgIChk ZWZpbmUgb3MKKyAgICAobWFyaW9uZXR0ZS1vcGVyYXRpbmctc3lzdGVtICVpcGZzLW9zCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjOmltcG9ydGVkLW1vZHVsZXMgJygoZ251IHNl cnZpY2VzIGhlcmQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoZ3VpeCBpcGZzKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICM6cmVxdWlyZW1lbnRzICcoaXBmcykpKQorCisgIChkZWZpbmUgdGVzdAorICAgICh3aXRoLWlt cG9ydGVkLW1vZHVsZXMgJygoZ251IGJ1aWxkIG1hcmlvbmV0dGUpKQorICAgICAgI34oYmVnaW4K KyAgICAgICAgICAodXNlLW1vZHVsZXMgKGdudSBidWlsZCBtYXJpb25ldHRlKQorICAgICAgICAg ICAgICAgICAgICAgICAoc3JmaSBzcmZpLTY0KSkKKworICAgICAgICAgIChkZWZpbmUgbWFyaW9u ZXR0ZQorICAgICAgICAgICAgKG1ha2UtbWFyaW9uZXR0ZSAobGlzdCAjJCh2aXJ0dWFsLW1hY2hp bmUgb3MpKSkpCisKKyAgICAgICAgICAoZGVmaW5lIChpcGZzLWlzLWFsaXZlPykKKyAgICAgICAg ICAgIChtYXJpb25ldHRlLWV2YWwKKyAgICAgICAgICAgICAnKGJlZ2luCisgICAgICAgICAgICAg ICAgKHVzZS1tb2R1bGVzIChnbnUgc2VydmljZXMgaGVyZCkKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKHNyZmkgc3JmaS0xKSkKKyAgICAgICAgICAgICAgICAobGl2ZS1zZXJ2aWNlLXJ1 bm5pbmcKKyAgICAgICAgICAgICAgICAgKGZpbmQgKGxhbWJkYSAobGl2ZSkKKyAgICAgICAgICAg ICAgICAgICAgICAgICAobWVtcSAnaXBmcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChsaXZlLXNlcnZpY2UtcHJvdmlzaW9uIGxpdmUpKSkKKyAgICAgICAgICAgICAgICAgICAgICAg KGN1cnJlbnQtc2VydmljZXMpKSkpCisgICAgICAgICAgICAgbWFyaW9uZXR0ZSkpCisKKyAgICAg ICAgICA7OyBUaGUgZGVmYXVsdCBBUEkgZW5kcG9pbnQgcG9ydCA1MDAxIGlzIHVzZWQsCisgICAg ICAgICAgOzsgc28gdGhlcmUgaXMgbm8gbmVlZCB0byBwYXJhbWV0ZXJpemUgJWlwZnMtYmFzZS11 cmwuCisgICAgICAgICAgOzsgQnkgcnVubmluZyB0aGlzIHdpdGhpbiB0aGUgVk0gaW5zdGVhZCBv ZiBvdXRzaWRlIHRoZSBWTQorICAgICAgICAgIDs7IHRoaXMgc3lzdGVtIHRlc3QgZG9lcyBub3Qg aGF2ZSB0byBmb3J3YXJkIGFueSBwb3J0cy4gCisgICAgICAgICAgKGRlZmluZSAoYWRkLWRhdGEg ZGF0YSkKKyAgICAgICAgICAgIChtYXJpb25ldHRlLWV2YWwKKyAgICAgICAgICAgICBgKChAIChn dWl4IGlwZnMpIGFkZC1jb250ZW50cykgLGRhdGEpKSkKKyAgICAgICAgICAoZGVmaW5lIChyZWFk LWNvbnRlbnRzIG9iamVjdCkKKyAgICAgICAgICAgIChtYXJpb25ldHRlLWV2YWwKKyAgICAgICAg ICAgICBgKChAIChndWl4IGlwZnMpIHJlYWQtY29udGVudHMpICxvYmplY3QpKSkKKworICAgICAg ICAgICh0ZXN0LWJlZ2luICJpcGZzIikKKworICAgICAgICAgIDs7IFRlc3QgdGhlIElQRlMgc2Vy dmljZS4KKworICAgICAgICAgICh0ZXN0LWFzc2VydCAiaXBmcyBpcyBhbGl2ZSIgKGlwZnMtaXMt YWxpdmU/KSkKKworICAgICAgICAgICh0ZXN0LWFzc2VydCAiaXBmcyBpcyBsaXN0ZW5pbmcgb24g dGhlIGdhdGV3YXkiCisgICAgICAgICAgICAobGV0ICgoZGVmYXVsdC1wb3J0IDgwODIpKQorICAg ICAgICAgICAgICAod2FpdC1mb3ItdGNwLXBvcnQgZGVmYXVsdC1wb3J0IG1hcmlvbmV0dGUpKSkK KworICAgICAgICAgICh0ZXN0LWFzc2VydCAiaXBmcyBpcyBsaXN0ZW5pbmcgb24gdGhlIEFQSSBl bmRwb2ludCIKKyAgICAgICAgICAgIChsZXQgKChkZWZhdWx0LXBvcnQgNTAwMSkpCisgICAgICAg ICAgICAgICh3YWl0LWZvci10Y3AtcG9ydCBkZWZhdWx0LXBvcnQgbWFyaW9uZXR0ZSkpKQorCisg ICAgICAgICAgKGRlZmluZSB0ZXN0LWJ2IChzdHJpbmctPnV0ZjggImhlbGxvIGlwZnMhIikpCisg ICAgICAgICAgKHRlc3QtZXF1YWwgImNhbiB1cGxvYWQgYW5kIGRvd25sb2FkIGEgZmlsZSB0by9m cm9tIGlwZnMiCisgICAgICAgICAgICB0ZXN0LWJ2CisgICAgICAgICAgICAocmVhZC1jb250ZW50 cyAoYWRkLWRhdGEgdGVzdC1idikpKQorCisgICAgICAgICAgKHRlc3QtZW5kKQorICAgICAgICAg IChleGl0ICg9ICh0ZXN0LXJ1bm5lci1mYWlsLWNvdW50ICh0ZXN0LXJ1bm5lci1jdXJyZW50KSkg MCkpKSkpCisgIChnZXhwLT5kZXJpdmF0aW9uICJpcGZzLXRlc3QiIHRlc3QpKQorCisoZGVmaW5l ICV0ZXN0LWlwZnMKKyAgKHN5c3RlbS10ZXN0CisgICAobmFtZSAiaXBmcyIpCisgICAoZGVzY3Jp cHRpb24gIlRlc3QgYSBydW5uaW5nIElQRlMgZGFlbW9uIGNvbmZpZ3VyYXRpb24uIikKKyAgICh2 YWx1ZSAocnVuLWlwZnMtdGVzdCkpKSkKLS0gCjIuMzEuMAoK --=-4fQ/b2+OM9ALP4I5bmy3-- --=-onZ0Vh88Nt1TPN6CIFpc Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- iI0EABYIADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYGCwfhccbWF4aW1lZGV2 b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7uXNAP918P4ZU2oJNrfzEN6M7uMhHzCn 8ehL24WfkJX/lXOKwAD6A+rtWQ1HNlYKp0Eld0MZwM45FPBnjtoV0k+6T100BQs= =ac5P -----END PGP SIGNATURE----- --=-onZ0Vh88Nt1TPN6CIFpc-- From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 29 10:07:47 2021 Received: (at 45905) by debbugs.gnu.org; 29 Mar 2021 14:07:47 +0000 Received: from localhost ([127.0.0.1]:49162 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lQsYV-00083e-03 for submit@debbugs.gnu.org; Mon, 29 Mar 2021 10:07:47 -0400 Received: from eggs.gnu.org ([209.51.188.92]:38014) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lQsYS-00083J-DQ for 45905@debbugs.gnu.org; Mon, 29 Mar 2021 10:07:45 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:44148) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lQsYM-0002bI-OD; Mon, 29 Mar 2021 10:07:38 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=48246 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lQsYB-0007tE-Jq; Mon, 29 Mar 2021 10:07:35 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Maxime Devos Subject: Re: bug#45905: [PATCH] IPFS service definition In-Reply-To: <4e1df2f011f5766d48c44d7231e562a889239e7a.camel@telenet.be> (Maxime Devos's message of "Sun, 28 Mar 2021 18:36:13 +0200") References: <874kh3w1j6.fsf@gnu.org> <36af87b3ec48ed159cc237dcac93320817c74f58.camel@telenet.be> <871rc6koew.fsf@gnu.org> <4e1df2f011f5766d48c44d7231e562a889239e7a.camel@telenet.be> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 9 Germinal an 229 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Mon, 29 Mar 2021 16:07:26 +0200 Message-ID: <877dlqoxy9.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 45905 Cc: 45905@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi Maxime, Maxime Devos skribis: > TODO: this test isn't run for some reason: > > $ make && make check-system TESTS=3D"ipfs" >> [compilation bla bla] >> Compiling Scheme modules... >> Selected 1 system tests... >> (end of output) > > ??? why isn't the IPFS test executed? [...] > +(define (run-ipfs-test) > + (define os > + (marionette-operating-system %ipfs-os > + #:imported-modules '((gnu services herd) > + (guix ipfs)) > + #:requirements '(ipfs))) > + > + (define test > + (with-imported-modules '((gnu build marionette)) > + #~(begin > + (use-modules (gnu build marionette) > + (srfi srfi-64)) > + > + (define marionette > + (make-marionette (list #$(virtual-machine os)))) > + > + (define (ipfs-is-alive?) > + (marionette-eval > + '(begin > + (use-modules (gnu services herd) > + (srfi srfi-1)) > + (live-service-running > + (find (lambda (live) > + (memq 'ipfs > + (live-service-provision live))) > + (current-services)))) > + marionette)) > + > + ;; The default API endpoint port 5001 is used, > + ;; so there is no need to parameterize %ipfs-base-url. > + ;; By running this within the VM instead of outside the VM > + ;; this system test does not have to forward any ports.=20 > + (define (add-data data) > + (marionette-eval > + `((@ (guix ipfs) add-contents) ,data))) > + (define (read-contents object) > + (marionette-eval > + `((@ (guix ipfs) read-contents) ,object))) > + > + (test-begin "ipfs") [...] > + (gexp->derivation "ipfs-test" test)) You need to add: (mkdir #$output) (chdir #$output) right before (test-begin "ipfs"). Failing to do that, you create =E2=80=9Cipfs-test.drv=E2=80=9D as a zero-ou= tput derivation=E2=80=94i.e., a derivation that doesn=E2=80=99t produce any outp= ut. Since it produces nothing, the daemon doesn=E2=80=99t bother running its code. Nitpick: please avoid =E2=80=98@=E2=80=99. Instead, explicitly do: (marionette-eval '(use-modules (ipfs)) marionette) Alternatively, you can arrange to set up port forwarding for the VM and use the (ipfs) module from the host rather than from the guest. This is what (gnu tests ssh) does, for example. As it stands, the test fails because you need to: (define test (with-extensions (list guile-json) =E2=80=A6)) so that Guile-JSON is available, and probably also: (with-imported-modules '((ipfs)) =E2=80=A6) The rest LGTM. HTH! Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 29 10:07:53 2021 Received: (at 45905) by debbugs.gnu.org; 29 Mar 2021 14:07:53 +0000 Received: from localhost ([127.0.0.1]:49164 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lQsYa-00083s-J4 for submit@debbugs.gnu.org; Mon, 29 Mar 2021 10:07:52 -0400 Received: from eggs.gnu.org ([209.51.188.92]:38018) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lQsYS-00083K-Dt for 45905@debbugs.gnu.org; Mon, 29 Mar 2021 10:07:46 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:44138) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lQsYJ-0002af-BY; Mon, 29 Mar 2021 10:07:35 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=48244 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lQsXR-0007qq-VB; Mon, 29 Mar 2021 10:07:08 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Maxime Devos Subject: Re: bug#45905: [PATCH] IPFS service definition References: <874kh3w1j6.fsf@gnu.org> <36af87b3ec48ed159cc237dcac93320817c74f58.camel@telenet.be> <871rc6koew.fsf@gnu.org> <4e1df2f011f5766d48c44d7231e562a889239e7a.camel@telenet.be> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 9 Germinal an 229 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Mon, 29 Mar 2021 16:06:40 +0200 In-Reply-To: <4e1df2f011f5766d48c44d7231e562a889239e7a.camel@telenet.be> (Maxime Devos's message of "Sun, 28 Mar 2021 18:36:13 +0200") Message-ID: <878s66oxzj.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 45905 Cc: 45905@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi Maxime, Maxime Devos skribis: > TODO: this test isn't run for some reason: > > $ make && make check-system TESTS=3D"ipfs" >> [compilation bla bla] >> Compiling Scheme modules... >> Selected 1 system tests... >> (end of output) > > ??? why isn't the IPFS test executed? [...] > +(define (run-ipfs-test) > + (define os > + (marionette-operating-system %ipfs-os > + #:imported-modules '((gnu services herd) > + (guix ipfs)) > + #:requirements '(ipfs))) > + > + (define test > + (with-imported-modules '((gnu build marionette)) > + #~(begin > + (use-modules (gnu build marionette) > + (srfi srfi-64)) > + > + (define marionette > + (make-marionette (list #$(virtual-machine os)))) > + > + (define (ipfs-is-alive?) > + (marionette-eval > + '(begin > + (use-modules (gnu services herd) > + (srfi srfi-1)) > + (live-service-running > + (find (lambda (live) > + (memq 'ipfs > + (live-service-provision live))) > + (current-services)))) > + marionette)) > + > + ;; The default API endpoint port 5001 is used, > + ;; so there is no need to parameterize %ipfs-base-url. > + ;; By running this within the VM instead of outside the VM > + ;; this system test does not have to forward any ports.=20 > + (define (add-data data) > + (marionette-eval > + `((@ (guix ipfs) add-contents) ,data))) > + (define (read-contents object) > + (marionette-eval > + `((@ (guix ipfs) read-contents) ,object))) > + > + (test-begin "ipfs") [...] > + (gexp->derivation "ipfs-test" test)) You need to add: (mkdir #$output) (chdir #$output) right before (test-begin "ipfs"). Failing to do that, you create =E2=80=9Cipfs-test.drv=E2=80=9D as a zero-ou= tput derivation=E2=80=94i.e., a derivation that doesn=E2=80=99t produce any outp= ut. Since it produces nothing, the daemon doesn=E2=80=99t bother running its code. Nitpick: please avoid =E2=80=98@=E2=80=99. Instead, explicitly do: (marionette-eval '(use-modules (ipfs)) marionette) Alternatively, you can arrange to set up port forwarding for the VM and use the (ipfs) module from the host rather than from the guest. This is what (gnu tests ssh) does, for example. As it stands, the test fails because you need to: (define test (with-extensions (list guile-json) =E2=80=A6)) so that Guile-JSON is available, and probably also: (with-imported-modules '((ipfs)) =E2=80=A6) The rest LGTM. HTH! Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 30 09:38:06 2021 Received: (at 45905) by debbugs.gnu.org; 30 Mar 2021 13:38:06 +0000 Received: from localhost ([127.0.0.1]:50623 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lREZC-0007vy-Fc for submit@debbugs.gnu.org; Tue, 30 Mar 2021 09:38:06 -0400 Received: from albert.telenet-ops.be ([195.130.137.90]:38664) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lREZ8-0007vj-OX for 45905@debbugs.gnu.org; Tue, 30 Mar 2021 09:37:57 -0400 Received: from ptr-bvsjgyjmffd7q9timvx.18120a2.ip6.access.telenet.be ([IPv6:2a02:1811:8c09:9d00:aaf1:9810:a0b8:a55d]) by albert.telenet-ops.be with bizsmtp id mdds240090mfAB406ddsvx; Tue, 30 Mar 2021 15:37:52 +0200 Message-ID: <42e840c5a55968ecf8173e4eb84af7dc415f3a51.camel@telenet.be> Subject: [PATCH v3] IPFS service definition From: Maxime Devos Date: Tue, 30 Mar 2021 15:37:46 +0200 In-Reply-To: References: Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="=-FFnUm5+BO1TihZNdja5Y" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r21; t=1617111472; bh=8VZqwgUYWq2jv/rb5OKkLsqwsGuudFxdaLCeR2FmwyM=; h=Subject:From:Cc:Date:In-Reply-To:References; b=PiQExAS7BoCTqmwaL0KC8t6uSMFHb9eB99va1abdOKYcV7oyhEflFlY/Iay5Kt2xs A9eVZl38ZRyGGSSyRQWg0yVpYe46KdUBKrWzJXO4kEU6g56Qy68FgqUZheV0ddHj+n Aq05H22FoWOUp4QVkgM/ZAGEcesqZCkkSgfhmeDRCCZrN5L1/nOIYq9TNZA8wCC3je mn+sMZY0Ig2V4/PFahPlje0Sd92Z/CN/XfBIioJ9V27GG+1dmWGrgLOz84BoqOpkXA Q/1lyFazI2YbBTQHvwd5QawbpWYy7yYCvJVgIsCJaDTErM8fKzpLrsFT8Wm93ccp+d 3zeD0/AikmPXA== X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 45905 Cc: 45905@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.2 (/) --=-FFnUm5+BO1TihZNdja5Y Content-Type: multipart/mixed; boundary="=-ufV58dvMe9wsREZmXbGS" --=-ufV58dvMe9wsREZmXbGS Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Guix, Revised patch series is attached. Changes in v2: * let the shepherd service depend on (loopback) instead of (networking) * added a (broken) system test for the IPFS service Changes in v3: * added 'extensions' argument to 'marionette-operating-system'.=20 * fixed the system test * tweaked the documentation formatting and removed a misleading comment on forwarding (port forwarding would be fine here, as the test is run in a container so there is no risk of port conflicts IIUC) Ludovic Court=C3=A8s wrote: > Nitpick: please avoid =E2=80=98@=E2=80=99. Instead, explicitly do: > [...] I actually prefer '(@ (...) ...)' here, but whatever. It's changed in v3. > As it stands, the test fails because you need to: > (define test > (with-extensions (list guile-json) > =E2=80=A6)) As the uploading and downloading is done in the guest, not the host, this needs to be done somewhat differently. That's what the patch =E2=80=98tests: Support package extensions in the backdoor REPL=E2=80=99 is= for. Greetings, Maxime --=-ufV58dvMe9wsREZmXbGS Content-Disposition: attachment; filename="0001-services-Add-ipfs-service-type.patch" Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="0001-services-Add-ipfs-service-type.patch"; charset="UTF-8" RnJvbSA3NDE0OWVmYjBkYmQxYjQxMmZkZDE0YWE4N2JlZTgwNjQwZWE1NDYzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXhpbWUgRGV2b3MgPG1heGltZWRldm9zQHRlbGVuZXQuYmU+ CkRhdGU6IEZyaSwgMTUgSmFuIDIwMjEgMjE6NDY6NDIgKzAxMDAKU3ViamVjdDogW1BBVENIIDEv NF0gc2VydmljZXM6IEFkZCBpcGZzLXNlcnZpY2UtdHlwZQoKKiBnbnUvc2VydmljZXMvbmV0d29y a2luZy5zY20gKGlwZnMtc2VydmljZS10eXBlKQogICglaXBmcy1ob21lLW1hcHBpbmcsICVpcGZz LWVudmlyb25tZW50KQogICglaXBmcy1hY2NvdW50cywgJWlwZnMtaG9tZSk6IE5ldyB2YXJpYWJs ZXMuCiAgKGlwZnMtY29uZmlndXJhdGlvbiwgaXBmcy1jb25maWd1cmF0aW9uPykKICAoaXBmcy1j b25maWd1cmF0aW9uLXBhY2thZ2UsIGlwZnMtY29uZmlndXJhdGlvbi1nYXRld2F5KQogIChpcGZz LWNvbmZpZ3VyYXRpb24tYXBpLCBpcGZzLXNoZXBoZXJkLXNlcnZpY2UpCiAgKGlwZnMtYmluYXJ5 LCAlaXBmcy1hY3RpdmF0aW9uKTogTmV3IHByb2NlZHVyZXMuCiogZG9jL2d1aXgudGV4aSAoTmV0 d29ya2luZyBTZXJ2aWNlcyk6IERvY3VtZW50IGl0LgotLS0KIGRvYy9ndWl4LnRleGkgICAgICAg ICAgICAgICB8ICAzMiArKysrKysrKwogZ251L3NlcnZpY2VzL25ldHdvcmtpbmcuc2NtIHwgMTQx ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCAx NzMgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RvYy9ndWl4LnRleGkgYi9kb2MvZ3VpeC50 ZXhpCmluZGV4IDc0ZjNmYmQyOTkuLmZlMTQ0MmE5ZDMgMTAwNjQ0Ci0tLSBhL2RvYy9ndWl4LnRl eGkKKysrIGIvZG9jL2d1aXgudGV4aQpAQCAtODcsNiArODcsNyBAQCBDb3B5cmlnaHQgQGNvcHly aWdodHt9IDIwMjAgRGFuaWVsIEJyb29rc0AqCiBDb3B5cmlnaHQgQGNvcHlyaWdodHt9IDIwMjAg Sm9obiBTb29AKgogQ29weXJpZ2h0IEBjb3B5cmlnaHR7fSAyMDIwIEpvbmF0aGFuIEJyaWVsbWFp ZXJAKgogQ29weXJpZ2h0IEBjb3B5cmlnaHR7fSAyMDIwIEVkZ2FyIFZpbmNlbnRAKgorQ29weXJp Z2h0IEBjb3B5cmlnaHR7fSAyMDIxIE1heGltZSBEZXZvc0AqCiAKIFBlcm1pc3Npb24gaXMgZ3Jh bnRlZCB0byBjb3B5LCBkaXN0cmlidXRlIGFuZC9vciBtb2RpZnkgdGhpcyBkb2N1bWVudAogdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgRnJlZSBEb2N1bWVudGF0aW9uIExpY2Vuc2UsIFZlcnNp b24gMS4zIG9yCkBAIC0xNzQ2Miw2ICsxNzQ2MywzNyBAQCBhZGRyZXNzLCBkZWxldGUgZXZlcnl0 aGluZyBleGNlcHQgdGhlc2Ugb3B0aW9uczoKIEBlbmQgdGFibGUKIEBlbmQgZGVmdHAKIAorQGNp bmRleCBJUEZTCitAZGVmdnIge1NjaGVtZSBWYXJpYWJsZX0gaXBmcy1zZXJ2aWNlLXR5cGUKK1Ro ZSBzZXJ2aWNlIHR5cGUgZm9yIGNvbm5lY3RpbmcgdG8gdGhlIEB1cmVme2h0dHBzOi8vaXBmcy5p byxJUEZTIG5ldHdvcmt9LAorYSBnbG9iYWwsIHZlcnNpb25lZCwgcGVlci10by1wZWVyIGZpbGUg c3lzdGVtLiBQYXNzIGl0IGEKK0Bjb2Rle2lwZnMtY29uZmlndXJhdGlvbn0gdG8gY2hhbmdlIHRo ZSBwb3J0cyB1c2VkIGZvciB0aGUgZ2F0ZXdheSBhbmQgQVBJLgorCitIZXJlJ3MgYW4gZXhhbXBs ZSBjb25maWd1cmF0aW9uLCB1c2luZyBzb21lIG5vbi1zdGFuZGFyZCBwb3J0czoKKworQGxpc3AK KyhzZXJ2aWNlIGlwZnMtc2VydmljZS10eXBlCisgICAgICAgICAoaXBmcy1jb25maWd1cmF0aW9u CisgICAgICAgICAgKGdhdGV3YXkgIi9pcDQvMTI3LjAuMC4xL3RjcC84ODgwIikKKyAgICAgICAg ICAoYXBpICIvaXA0LzEyNy4wLjAuMS90Y3AvODg4MSIpKSkKK0BlbmQgbGlzcAorQGVuZCBkZWZ2 cgorCitAZGVmdHAge0RhdGEgVHlwZX0gaXBmcy1jb25maWd1cmF0aW9uCitEYXRhIHR5cGUgcmVw cmVzZW50aW5nIHRoZSBjb25maWd1cmF0aW9uIG9mIElQRlMuCisKK0B0YWJsZSBAYXNpcworQGl0 ZW0gQGNvZGV7cGFja2FnZX0gKGRlZmF1bHQ6IEBjb2Rle2dvLWlwZnN9KQorUGFja2FnZSBvYmpl Y3Qgb2YgSVBGUy4KKworQGl0ZW0gQGNvZGV7Z2F0ZXdheX0gKGRlZmF1bHQ6IEBjb2RleyIvaXA0 LzEyNy4wLjAuMS90Y3AvODA4MiJ9KQorQWRkcmVzcyBvZiB0aGUgZ2F0ZXdheSwgaW4g4oCYbXVs dGlhZGRyZXNz4oCZIGZvcm1hdC4KKworQGl0ZW0gQGNvZGV7YXBpfSAoZGVmYXVsdDogQGNvZGV7 Ii9pcDQvMTI3LjAuMC4xL3RjcC81MDAxIn0pCitBZGRyZXNzIG9mIHRoZSBBUEkgZW5kcG9pbnQs IGluIOKAmG11bHRpYWRkcmVzc+KAmSBmb3JtYXQuCitAZW5kIHRhYmxlCitAZW5kIGRlZnRwCisK IEBjaW5kZXgga2VlcGFsaXZlZAogQGRlZmZuIHtTY2hlbWUgVmFyaWFibGV9IGtlZXBhbGl2ZWQt c2VydmljZS10eXBlCiBUaGlzIGlzIHRoZSB0eXBlIGZvciB0aGUgQHVyZWZ7aHR0cHM6Ly93d3cu a2VlcGFsaXZlZC5vcmcvLCBLZWVwYWxpdmVkfQpkaWZmIC0tZ2l0IGEvZ251L3NlcnZpY2VzL25l dHdvcmtpbmcuc2NtIGIvZ251L3NlcnZpY2VzL25ldHdvcmtpbmcuc2NtCmluZGV4IDIzMWE5ZjY2 YzcuLjZlOTNiNTY3MTcgMTAwNjQ0Ci0tLSBhL2dudS9zZXJ2aWNlcy9uZXR3b3JraW5nLnNjbQor KysgYi9nbnUvc2VydmljZXMvbmV0d29ya2luZy5zY20KQEAgLTE2LDYgKzE2LDcgQEAKIDs7OyBD b3B5cmlnaHQgwqkgMjAyMCBCcmljZSBXYWVnZW5laXJlIDxicmljZUB3YWVnZW5laS5yZT4KIDs7 OyBDb3B5cmlnaHQgwqkgMjAyMSBPbGVnIFB5a2hhbG92IDxnby53aWd1c3RAZ21haWwuY29tPgog Ozs7IENvcHlyaWdodCDCqSAyMDIxIENocmlzdG9waGVyIExlbW1lciBXZWJiZXIgPGN3ZWJiZXJA ZHVzdHljbG91ZC5vcmc+Cis7OzsgQ29weXJpZ2h0IMKpIDIwMjEgTWF4aW1lIERldm9zIDxtYXhp bWVkZXZvc0B0ZWxlbmV0LmJlPgogOzs7CiA7OzsgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEd1 aXguCiA7OzsKQEAgLTU1LDYgKzU2LDggQEAKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMg bnRwKQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyB3aWNkKQogICAjOnVzZS1tb2R1bGUg KGdudSBwYWNrYWdlcyBnbm9tZSkKKyAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgaXBmcykK KyAgIzp1c2UtbW9kdWxlIChnbnUgYnVpbGQgbGludXgtY29udGFpbmVyKQogICAjOnVzZS1tb2R1 bGUgKGd1aXggZ2V4cCkKICAgIzp1c2UtbW9kdWxlIChndWl4IHJlY29yZHMpCiAgICM6dXNlLW1v ZHVsZSAoZ3VpeCBtb2R1bGVzKQpAQCAtMTk3LDYgKzIwMCwxMyBAQAogICAgICAgICAgICAgeWdn ZHJhc2lsLWNvbmZpZ3VyYXRpb24tanNvbi1jb25maWcKICAgICAgICAgICAgIHlnZ2RyYXNpbC1j b25maWd1cmF0aW9uLXBhY2thZ2UKIAorICAgICAgICAgICAgaXBmcy1zZXJ2aWNlLXR5cGUKKyAg ICAgICAgICAgIGlwZnMtY29uZmlndXJhdGlvbgorICAgICAgICAgICAgaXBmcy1jb25maWd1cmF0 aW9uPworICAgICAgICAgICAgaXBmcy1jb25maWd1cmF0aW9uLXBhY2thZ2UKKyAgICAgICAgICAg IGlwZnMtY29uZmlndXJhdGlvbi1nYXRld2F5CisgICAgICAgICAgICBpcGZzLWNvbmZpZ3VyYXRp b24tYXBpCisKICAgICAgICAgICAgIGtlZXBhbGl2ZWQtY29uZmlndXJhdGlvbgogICAgICAgICAg ICAga2VlcGFsaXZlZC1jb25maWd1cmF0aW9uPwogICAgICAgICAgICAga2VlcGFsaXZlZC1zZXJ2 aWNlLXR5cGUpKQpAQCAtMTg3Niw2ICsxODg2LDEzNyBAQCBTZWUgeWdnZHJhc2lsIC1nZW5jb25m IGZvciBjb25maWcgb3B0aW9ucy4iKQogICAgICAgICAgIChzZXJ2aWNlLWV4dGVuc2lvbiBwcm9m aWxlLXNlcnZpY2UtdHlwZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29tcG9zZSBs aXN0IHlnZ2RyYXNpbC1jb25maWd1cmF0aW9uLXBhY2thZ2UpKSkpKSkKIAorDAorOzs7Cis7Ozsg SVBGUworOzs7CisKKyhkZWZpbmUtcmVjb3JkLXR5cGUqIDxpcGZzLWNvbmZpZ3VyYXRpb24+Cisg IGlwZnMtY29uZmlndXJhdGlvbgorICBtYWtlLWlwZnMtY29uZmlndXJhdGlvbgorICBpcGZzLWNv bmZpZ3VyYXRpb24/CisgIChwYWNrYWdlIGlwZnMtY29uZmlndXJhdGlvbi1wYWNrYWdlCisgICAg ICAgICAgIChkZWZhdWx0IGdvLWlwZnMpKQorICAoZ2F0ZXdheSBpcGZzLWNvbmZpZ3VyYXRpb24t Z2F0ZXdheQorICAgICAgICAgICAoZGVmYXVsdCAiL2lwNC8xMjcuMC4wLjEvdGNwLzgwODIiKSkK KyAgKGFwaSAgICAgaXBmcy1jb25maWd1cmF0aW9uLWFwaQorICAgICAgICAgICAoZGVmYXVsdCAi L2lwNC8xMjcuMC4wLjEvdGNwLzUwMDEiKSkpCisKKyhkZWZpbmUgJWlwZnMtaG9tZSAiL3Zhci9s aWIvaXBmcyIpCisKKyhkZWZpbmUgJWlwZnMtYWNjb3VudHMKKyAgKGxpc3QgKHVzZXItYWNjb3Vu dAorICAgICAgICAgKG5hbWUgImlwZnMiKQorICAgICAgICAgKGdyb3VwICJpcGZzIikKKyAgICAg ICAgIChzeXN0ZW0/ICN0KQorICAgICAgICAgKGNvbW1lbnQgIklQRlMgZGFlbW9uIHVzZXIiKQor ICAgICAgICAgKGhvbWUtZGlyZWN0b3J5ICIvdmFyL2xpYi9pcGZzIikKKyAgICAgICAgIChzaGVs bCAoZmlsZS1hcHBlbmQgc2hhZG93ICIvc2Jpbi9ub2xvZ2luIikpKQorICAgICAgICAodXNlci1n cm91cAorICAgICAgICAgKG5hbWUgImlwZnMiKQorICAgICAgICAgKHN5c3RlbT8gI3QpKSkpCisK KyhkZWZpbmUgKGlwZnMtYmluYXJ5IGNvbmZpZykKKyAgKGZpbGUtYXBwZW5kIChpcGZzLWNvbmZp Z3VyYXRpb24tcGFja2FnZSBjb25maWcpICIvYmluL2lwZnMiKSkKKworKGRlZmluZSAlaXBmcy1o b21lLW1hcHBpbmcKKyAgI34oZmlsZS1zeXN0ZW0tbWFwcGluZworICAgICAoc291cmNlICMkJWlw ZnMtaG9tZSkKKyAgICAgKHRhcmdldCAjJCVpcGZzLWhvbWUpCisgICAgICh3cml0YWJsZT8gI3Qp KSkKKworKGRlZmluZSAlaXBmcy1lbnZpcm9ubWVudAorICAjfihsaXN0ICMkKHN0cmluZy1hcHBl bmQgIkhPTUU9IiAlaXBmcy1ob21lKSkpCisKKyhkZWZpbmUgKGlwZnMtc2hlcGhlcmQtc2Vydmlj ZSBjb25maWcpCisgICJSZXR1cm4gYSA8c2hlcGhlcmQtc2VydmljZT4gZm9yIElQRlMgd2l0aCBD T05GSUcuIgorICAoZGVmaW5lIGlwZnMtZGFlbW9uLWNvbW1hbmQKKyAgICAjfihsaXN0ICMkKGlw ZnMtYmluYXJ5IGNvbmZpZykgImRhZW1vbiIpKQorICAobGlzdAorICAgKHdpdGgtaW1wb3J0ZWQt bW9kdWxlcyAoc291cmNlLW1vZHVsZS1jbG9zdXJlCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAnKChnbnUgYnVpbGQgc2hlcGhlcmQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChn bnUgc3lzdGVtIGZpbGUtc3lzdGVtcykpKQorICAgICAoc2hlcGhlcmQtc2VydmljZQorICAgICAg KHByb3Zpc2lvbiAnKGlwZnMpKQorICAgICAgOzsgV2hpbGUgSVBGUyBpcyBtb3N0IHVzZWZ1bCB3 aGVuIHRoZSBtYWNoaW5lIGlzIGNvbm5lY3RlZAorICAgICAgOzsgdG8gdGhlIG5ldHdvcmssIG9u bHkgbG9vcGJhY2sgaXMgcmVxdWlyZWQgZm9yIHN0YXJ0aW5nCisgICAgICA7OyB0aGUgc2Vydmlj ZS4KKyAgICAgIChyZXF1aXJlbWVudCAnKGxvb3BiYWNrKSkKKyAgICAgIChkb2N1bWVudGF0aW9u ICJDb25uZWN0IHRvIHRoZSBJUEZTIG5ldHdvcmsiKQorICAgICAgKG1vZHVsZXMgJygoZ251IGJ1 aWxkIHNoZXBoZXJkKQorICAgICAgICAgICAgICAgICAoZ251IHN5c3RlbSBmaWxlLXN5c3RlbXMp KSkKKyAgICAgIChzdGFydCAjfihtYWtlLWZvcmtleGVjLWNvbnN0cnVjdG9yL2NvbnRhaW5lcgor ICAgICAgICAgICAgICAgICMkaXBmcy1kYWVtb24tY29tbWFuZAorICAgICAgICAgICAgICAgICM6 bmFtZXNwYWNlcyAnIyQoZm9sZCBkZWxxICVuYW1lc3BhY2VzICcodXNlciBuZXQpKQorICAgICAg ICAgICAgICAgICM6bWFwcGluZ3MgKGxpc3QgIyQlaXBmcy1ob21lLW1hcHBpbmcpCisgICAgICAg ICAgICAgICAgIzpsb2ctZmlsZSAiL3Zhci9sb2cvaXBmcy5sb2ciCisgICAgICAgICAgICAgICAg Izp1c2VyICJpcGZzIgorICAgICAgICAgICAgICAgICM6Z3JvdXAgImlwZnMiCisgICAgICAgICAg ICAgICAgIzplbnZpcm9ubWVudC12YXJpYWJsZXMgIyQlaXBmcy1lbnZpcm9ubWVudCkpCisgICAg ICAoc3RvcCAjfihtYWtlLWtpbGwtZGVzdHJ1Y3RvcikpKSkpKQorCisoZGVmaW5lICglaXBmcy1h Y3RpdmF0aW9uIGNvbmZpZykKKyAgIlJldHVybiBhbiBhY3RpdmF0aW9uIGdleHAgZm9yIElQRlMg d2l0aCBDT05GSUciCisgIChkZWZpbmUgKGlwZnMtY29uZmlnLWNvbW1hbmQgc2V0dGluZyB2YWx1 ZSkKKyAgICAjfigjJChpcGZzLWJpbmFyeSBjb25maWcpICJjb25maWciICMkc2V0dGluZyAjJHZh bHVlKSkKKyAgKGRlZmluZSAoc2V0LWNvbmZpZyEtZ2V4cCBzZXR0aW5nIHZhbHVlKQorICAgICN+ KHN5c3RlbSogIyRAKGlwZnMtY29uZmlnLWNvbW1hbmQgc2V0dGluZyB2YWx1ZSkpKQorICAoZGVm aW5lIHNldHRpbmdzCisgICAgYCgoIkFkZHJlc3Nlcy5BUEkiICwoaXBmcy1jb25maWd1cmF0aW9u LWFwaSBjb25maWcpKQorICAgICAgKCJBZGRyZXNzZXMuR2F0ZXdheSIgLChpcGZzLWNvbmZpZ3Vy YXRpb24tZ2F0ZXdheSBjb25maWcpKSkpCisgIChkZWZpbmUgaW5uZXItZ2V4cAorICAgICN+KGJl Z2luCisgICAgICAgICh1bWFzayAjbzA3NykKKyAgICAgICAgOzsgQ3JlYXRlICRIT01FLy5pcGZz IHN0cnVjdHVyZQorICAgICAgICAoc3lzdGVtKiAjJChpcGZzLWJpbmFyeSBjb25maWcpICJpbml0 IikKKyAgICAgICAgOzsgQXBwbHkgc2V0dGluZ3MKKyAgICAgICAgIyRAKG1hcCAoY3V0ZSBhcHBs eSBzZXQtY29uZmlnIS1nZXhwIDw+KSBzZXR0aW5ncykpKQorICAoZGVmaW5lIGlubmVyLXNjcmlw dAorICAgIChwcm9ncmFtLWZpbGUgImlwZnMtYWN0aXZhdGlvbi1pbm5lciIgaW5uZXItZ2V4cCkp CisgIDs7IFJ1biBpcGZzIGluaXQgYW5kIGlwZnMgY29uZmlnIGZyb20gYSBjb250YWluZXIsCisg IDs7IGluIGNhc2UgdGhlIElQRlMgZGFlbW9uIHdhcyBjb21wcm9taXNlZCBhdCBzb21lIHBvaW50 CisgIDs7IGFuZCB+Ly5pcGZzIGlzIG5vdyBhIHN5bWxpbmsgdG8gc29tZXdoZXJlIG91dHNpZGUK KyAgOzsgJWlwZnMtaG9tZS4KKyAgKGRlZmluZSBjb250YWluZXItZ2V4cAorICAgICh3aXRoLWV4 dGVuc2lvbnMgKGxpc3Qgc2hlcGhlcmQpCisgICAgICAod2l0aC1pbXBvcnRlZC1tb2R1bGVzIChz b3VyY2UtbW9kdWxlLWNsb3N1cmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcoKGdu dSBidWlsZCBzaGVwaGVyZCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGdudSBz eXN0ZW0gZmlsZS1zeXN0ZW1zKSkpCisgICAgICAgICN+KGJlZ2luCisgICAgICAgICAgICAodXNl LW1vZHVsZXMgKGdudSBidWlsZCBzaGVwaGVyZCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAo Z251IHN5c3RlbSBmaWxlLXN5c3RlbXMpKQorICAgICAgICAgICAgKGxldCogKChjb25zdHJ1Y3Rv cgorICAgICAgICAgICAgICAgICAgICAobWFrZS1mb3JrZXhlYy1jb25zdHJ1Y3Rvci9jb250YWlu ZXIKKyAgICAgICAgICAgICAgICAgICAgIChsaXN0ICMkaW5uZXItc2NyaXB0KQorICAgICAgICAg ICAgICAgICAgICAgIzpuYW1lc3BhY2VzICcjJChmb2xkIGRlbHEgJW5hbWVzcGFjZXMgJyh1c2Vy KSkKKyAgICAgICAgICAgICAgICAgICAgICM6bWFwcGluZ3MgKGxpc3QgIyQlaXBmcy1ob21lLW1h cHBpbmcpCisgICAgICAgICAgICAgICAgICAgICAjOnVzZXIgImlwZnMiCisgICAgICAgICAgICAg ICAgICAgICAjOmdyb3VwICJpcGZzIgorICAgICAgICAgICAgICAgICAgICAgIzplbnZpcm9ubWVu dC12YXJpYWJsZXMgIyQlaXBmcy1lbnZpcm9ubWVudCkpCisgICAgICAgICAgICAgICAgICAgKHBp ZCAoY29uc3RydWN0b3IpKSkKKyAgICAgICAgICAgICAgKHdhaXRwaWQgcGlkKSkpKSkpCisgIDs7 IFRoZSBhY3RpdmF0aW9uIG1heSBoYXBwZW4gZnJvbSB0aGUgaW5pdHJkLCB3aGljaCB1c2VzCisg IDs7IGEgc3RhdGljYWxseS1saW5rZWQgZ3VpbGUsIHdoaWxlIHRoZSBndWl4IGNvbnRhaW5lcgor ICA7OyBwcm9jZWR1cmVzIHJlcXVpcmUgYSB3b3JraW5nIGR5bmFtaWMtbGluay4KKyAgKGRlZmlu ZSBjb250YWluZXItc2NyaXB0CisgICAgKHByb2dyYW0tZmlsZSAiaXBmcy1hY3RpdmF0aW9uLWNv bnRhaW5lciIgY29udGFpbmVyLWdleHApKQorICAjfihzeXN0ZW0qICMkY29udGFpbmVyLXNjcmlw dCkpCisKKyhkZWZpbmUgaXBmcy1zZXJ2aWNlLXR5cGUKKyAgKHNlcnZpY2UtdHlwZQorICAgKG5h bWUgJ2lwZnMpCisgICAoZXh0ZW5zaW9ucworICAgIChsaXN0IChzZXJ2aWNlLWV4dGVuc2lvbiBh Y2NvdW50LXNlcnZpY2UtdHlwZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3Qg JWlwZnMtYWNjb3VudHMpKQorICAgICAgICAgIChzZXJ2aWNlLWV4dGVuc2lvbiBhY3RpdmF0aW9u LXNlcnZpY2UtdHlwZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlaXBmcy1hY3RpdmF0 aW9uKQorICAgICAgICAgIChzZXJ2aWNlLWV4dGVuc2lvbiBzaGVwaGVyZC1yb290LXNlcnZpY2Ut dHlwZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpcGZzLXNoZXBoZXJkLXNlcnZpY2Up KSkKKyAgIChkZWZhdWx0LXZhbHVlIChpcGZzLWNvbmZpZ3VyYXRpb24pKQorICAgKGRlc2NyaXB0 aW9uCisgICAgIlJ1biBAY29tbWFuZHtpcGZzIGRhZW1vbn0sIHRoZSByZWZlcmVuY2UgaW1wbGVt ZW50YXRpb24KK29mIHRoZSBJUEZTIHAycCBzdG9yYWdlIG5ldHdvcmsuIikpKQorCiAMCiA7OzsK IDs7OyBLZWVwYWxpdmVkCi0tIAoyLjMxLjEKCg== --=-ufV58dvMe9wsREZmXbGS Content-Disposition: attachment; filename="0002-Add-guix-ipfs.patch" Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="0002-Add-guix-ipfs.patch"; charset="UTF-8" RnJvbSBjMWNhNGUyNWZmMzVmYWJlODlmYzdhOGIyYjRkMzUyMTg0MDIzNmM5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/THVkb3ZpYz0yMENvdXJ0PUMzPUE4cz89IDxs dWRvQGdudS5vcmc+CkRhdGU6IEZyaSwgMjggRGVjIDIwMTggMDE6MDc6NTggKzAxMDAKU3ViamVj dDogW1BBVENIIDIvNF0gQWRkIChndWl4IGlwZnMpLgoKVGhpcyBtb2R1bGUgYWxsb3dzIGZvciBj b21tdW5pY2F0aW5nIHdpdGggdGhlIElQRlMKZ2F0ZXdheSBvdmVyIHRoZSBIVFRQIGludGVyZmFj ZS4gIFRoZSBjb21taXQgaGFzIGJlZW4KY2hlcnJ5LXBpY2tlZCBmcm9tIDxodHRwczovL2lzc3Vl cy5ndWl4LmdudS5vcmcvMzM4OTk+LgoKVGhlIHByb2NlZHVyZXMgZm9yIGFkZGluZyBhbmQgcmVz dG9yaW5nIGZpbGUgdHJlZXMgaGF2ZQpiZWVuIHJlbW92ZWQgYXMgYWNjb3JkaW5nIHRvIGEgcmVw bHkgaXNzdWUgMzM4OTksIGEgZGlmZmVyZW50CmZvcm1hdCB3aWxsIGJlIHVzZWQuICBUaGUgcHJv Y2VkdXJlICdhZGQtZGF0YScgaGFzIGJlZW4KZXhwb3J0ZWQgYXMgaXQgd2lsbCBiZSB1c2VkIGlu IHRoZSBzeXN0ZW0gdGVzdCBmb3IgSVBGUy4KCiogZ3VpeC9pcGZzLnNjbTogTmV3IGZpbGUuCiog TWFrZWZpbGUuYW0gKE1PRFVMRVMpOiBBZGQgaXQuCi0tLQogTWFrZWZpbGUuYW0gICAgfCAgIDEg KwogZ3VpeC9pcGZzLnNjbSAgfCAxODMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKwogdGVzdHMvaXBmcy5zY20gfCAgNTUgKysrKysrKysrKysrKysrCiAz IGZpbGVzIGNoYW5nZWQsIDIzOSBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ3Vp eC9pcGZzLnNjbQogY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3RzL2lwZnMuc2NtCgpkaWZmIC0tZ2l0 IGEvTWFrZWZpbGUuYW0gYi9NYWtlZmlsZS5hbQppbmRleCAxYzJkNDU1MjdjLi4xN2FkMjM2NjU1 IDEwMDY0NAotLS0gYS9NYWtlZmlsZS5hbQorKysgYi9NYWtlZmlsZS5hbQpAQCAtMTI2LDYgKzEy Niw3IEBAIE1PRFVMRVMgPQkJCQkJXAogICBndWl4L2NhY2hlLnNjbQkJCQlcCiAgIGd1aXgvY3Zl LnNjbQkJCQkJXAogICBndWl4L3dvcmtlcnMuc2NtCQkJCVwKKyAgZ3VpeC9pcGZzLnNjbQkJCQkJ XAogICBndWl4L2J1aWxkLXN5c3RlbS5zY20JCQkJXAogICBndWl4L2J1aWxkLXN5c3RlbS9hbmRy b2lkLW5kay5zY20JCVwKICAgZ3VpeC9idWlsZC1zeXN0ZW0vYW50LnNjbQkJCVwKZGlmZiAtLWdp dCBhL2d1aXgvaXBmcy5zY20gYi9ndWl4L2lwZnMuc2NtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAuLjMxYTg5ODg4YTcKLS0tIC9kZXYvbnVsbAorKysgYi9ndWl4L2lwZnMu c2NtCkBAIC0wLDAgKzEsMTgzIEBACis7OzsgR05VIEd1aXggLS0tIEZ1bmN0aW9uYWwgcGFja2Fn ZSBtYW5hZ2VtZW50IGZvciBHTlUKKzs7OyBDb3B5cmlnaHQgwqkgMjAxOCBMdWRvdmljIENvdXJ0 w6hzIDxsdWRvQGdudS5vcmc+Cis7OzsKKzs7OyBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgR3Vp eC4KKzs7OworOzs7IEdOVSBHdWl4IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKKzs7OyB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorOzs7IHRoZSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAor Ozs7IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKzs7OworOzs7IEdOVSBHdWl4IGlz IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAorOzs7 IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg b2YKKzs7OyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UuICBTZWUgdGhlCis7OzsgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KKzs7OworOzs7IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCis7OzsgYWxvbmcgd2l0aCBHTlUgR3VpeC4gIElmIG5v dCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKworKGRlZmluZS1tb2R1bGUg KGd1aXggaXBmcykKKyAgIzp1c2UtbW9kdWxlIChqc29uKQorICAjOnVzZS1tb2R1bGUgKGd1aXgg YmFzZTY0KQorICAjOnVzZS1tb2R1bGUgKChndWl4IGJ1aWxkIHV0aWxzKSAjOnNlbGVjdCAoZHVt cC1wb3J0KSkKKyAgIzp1c2UtbW9kdWxlIChzcmZpIHNyZmktMSkKKyAgIzp1c2UtbW9kdWxlIChz cmZpIHNyZmktMTEpCisgICM6dXNlLW1vZHVsZSAoc3JmaSBzcmZpLTI2KQorICAjOnVzZS1tb2R1 bGUgKHJucnMgaW8gcG9ydHMpCisgICM6dXNlLW1vZHVsZSAocm5ycyBieXRldmVjdG9ycykKKyAg Izp1c2UtbW9kdWxlIChpY2UtOSBtYXRjaCkKKyAgIzp1c2UtbW9kdWxlIChpY2UtOSBmdHcpCisg ICM6dXNlLW1vZHVsZSAod2ViIHVyaSkKKyAgIzp1c2UtbW9kdWxlICh3ZWIgY2xpZW50KQorICAj OnVzZS1tb2R1bGUgKHdlYiByZXNwb25zZSkKKyAgIzpleHBvcnQgKCVpcGZzLWJhc2UtdXJsCisg ICAgICAgICAgICBhZGQtZGF0YQorICAgICAgICAgICAgYWRkLWZpbGUKKworICAgICAgICAgICAg Y29udGVudD8KKyAgICAgICAgICAgIGNvbnRlbnQtbmFtZQorICAgICAgICAgICAgY29udGVudC1o YXNoCisgICAgICAgICAgICBjb250ZW50LXNpemUKKworICAgICAgICAgICAgYWRkLWVtcHR5LWRp cmVjdG9yeQorICAgICAgICAgICAgYWRkLXRvLWRpcmVjdG9yeQorICAgICAgICAgICAgcmVhZC1j b250ZW50cworICAgICAgICAgICAgcHVibGlzaC1uYW1lKSkKKworOzs7IENvbW1lbnRhcnk6Cis7 OzsKKzs7OyBUaGlzIG1vZHVsZSBpbXBsZW1lbnRzIGJpbmRpbmdzIGZvciB0aGUgSFRUUCBpbnRl cmZhY2Ugb2YgdGhlIElQRlMKKzs7OyBnYXRld2F5LCBkb2N1bWVudGVkIGhlcmU6IDxodHRwczov L2RvY3MuaXBmcy5pby9yZWZlcmVuY2UvYXBpL2h0dHAvPi4gIEl0Cis7OzsgYWxsb3dzIHlvdSB0 byBhZGQgYW5kIHJldHJpZXZlIGZpbGVzIG92ZXIgSVBGUywgYW5kIGEgZmV3IG90aGVyIHRoaW5n cy4KKzs7OworOzs7IENvZGU6CisKKyhkZWZpbmUgJWlwZnMtYmFzZS11cmwKKyAgOzsgVVJMIG9m IHRoZSBJUEZTIGdhdGV3YXkuCisgIChtYWtlLXBhcmFtZXRlciAiaHR0cDovL2xvY2FsaG9zdDo1 MDAxIikpCisKKyhkZWZpbmUqIChjYWxsIHVybCBkZWNvZGUgIzpvcHRpb25hbCAobWV0aG9kIGh0 dHAtcG9zdCkKKyAgICAgICAgICAgICAgICM6a2V5IGJvZHkgKGZhbHNlLWlmLTQwND8gI3QpICho ZWFkZXJzICcoKSkpCisgICJJbnZva2UgdGhlIGVuZHBvaW50IGF0IFVSTCB1c2luZyBNRVRIT0Qu ICBEZWNvZGUgdGhlIHJlc3VsdGluZyBKU09OIGJvZHkKK3VzaW5nIERFQ09ERSwgYSBvbmUtYXJn dW1lbnQgcHJvY2VkdXJlIHRoYXQgdGFrZXMgYW4gaW5wdXQgcG9ydDsgd2hlbiBERUNPREUKK2lz IGZhbHNlLCByZXR1cm4gdGhlIGlucHV0IHBvcnQuICBXaGVuIEZBTFNFLUlGLTQwND8gaXMgdHJ1 ZSwgcmV0dXJuICNmIHVwb24KKzQwNCByZXNwb25zZXMuIgorICAobGV0Ki12YWx1ZXMgKCgocmVz cG9uc2UgcG9ydCkKKyAgICAgICAgICAgICAgICAgKG1ldGhvZCB1cmwgIzpzdHJlYW1pbmc/ICN0 CisgICAgICAgICAgICAgICAgICAgICAgICAgIzpib2R5IGJvZHkKKworICAgICAgICAgICAgICAg ICAgICAgICAgIDs7IEFsd2F5cyBwYXNzICJDb25uZWN0aW9uOiBjbG9zZSIuCisgICAgICAgICAg ICAgICAgICAgICAgICAgIzprZWVwLWFsaXZlPyAjZgorICAgICAgICAgICAgICAgICAgICAgICAg ICM6aGVhZGVycyBgKChjb25uZWN0aW9uIGNsb3NlKQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICxAaGVhZGVycykpKSkKKyAgICAoY29uZCAoKD0gMjAwIChyZXNwb25zZS1j b2RlIHJlc3BvbnNlKSkKKyAgICAgICAgICAgKGlmIGRlY29kZQorICAgICAgICAgICAgICAgKGxl dCAoKHJlc3VsdCAoZGVjb2RlIHBvcnQpKSkKKyAgICAgICAgICAgICAgICAgKGNsb3NlLXBvcnQg cG9ydCkKKyAgICAgICAgICAgICAgICAgcmVzdWx0KQorICAgICAgICAgICAgICAgcG9ydCkpCisg ICAgICAgICAgKChhbmQgZmFsc2UtaWYtNDA0PworICAgICAgICAgICAgICAgICg9IDQwNCAocmVz cG9uc2UtY29kZSByZXNwb25zZSkpKQorICAgICAgICAgICAoY2xvc2UtcG9ydCBwb3J0KQorICAg ICAgICAgICAjZikKKyAgICAgICAgICAoZWxzZQorICAgICAgICAgICAoY2xvc2UtcG9ydCBwb3J0 KQorICAgICAgICAgICAodGhyb3cgJ2lwZnMtZXJyb3IgdXJsIHJlc3BvbnNlKSkpKSkKKworOzsg UmVzdWx0IG9mIGEgZmlsZSBhZGRpdGlvbi4KKyhkZWZpbmUtanNvbi1tYXBwaW5nIDxjb250ZW50 PiBtYWtlLWNvbnRlbnQgY29udGVudD8KKyAganNvbi0+Y29udGVudAorICAobmFtZSAgIGNvbnRl bnQtbmFtZSAiTmFtZSIpCisgIChoYXNoICAgY29udGVudC1oYXNoICJIYXNoIikKKyAgKGJ5dGVz ICBjb250ZW50LWJ5dGVzICJCeXRlcyIpCisgIChzaXplICAgY29udGVudC1zaXplICJTaXplIiBz dHJpbmctPm51bWJlcikpCisKKzs7IFJlc3VsdCBvZiBhICdwYXRjaC9hZGQtbGluaycgb3BlcmF0 aW9uLgorKGRlZmluZS1qc29uLW1hcHBpbmcgPGRpcmVjdG9yeT4gbWFrZS1kaXJlY3RvcnkgZGly ZWN0b3J5PworICBqc29uLT5kaXJlY3RvcnkKKyAgKGhhc2ggICBkaXJlY3RvcnktaGFzaCAiSGFz aCIpCisgIChsaW5rcyAgZGlyZWN0b3J5LWxpbmtzICJMaW5rcyIganNvbi0+bGlua3MpKQorCis7 OyBBICJsaW5rIi4KKyhkZWZpbmUtanNvbi1tYXBwaW5nIDxsaW5rPiBtYWtlLWxpbmsgbGluaz8K KyAganNvbi0+bGluaworICAobmFtZSAgIGxpbmstbmFtZSAiTmFtZSIpCisgIChoYXNoICAgbGlu ay1oYXNoICJIYXNoIikKKyAgKHNpemUgICBsaW5rLXNpemUgIlNpemUiIHN0cmluZy0+bnVtYmVy KSkKKworOzsgQSAiYmluZGluZyIsIGFsc28ga25vd24gYXMgYSAibmFtZSIuCisoZGVmaW5lLWpz b24tbWFwcGluZyA8YmluZGluZz4gbWFrZS1iaW5kaW5nIGJpbmRpbmc/CisgIGpzb24tPmJpbmRp bmcKKyAgKG5hbWUgICBiaW5kaW5nLW5hbWUgIk5hbWUiKQorICAodmFsdWUgIGJpbmRpbmctdmFs dWUgIlZhbHVlIikpCisKKyhkZWZpbmUgKGpzb24tPmxpbmtzIGpzb24pCisgIChtYXRjaCBqc29u CisgICAgKCNmICAgICcoKSkKKyAgICAobGlua3MgKG1hcCBqc29uLT5saW5rIGxpbmtzKSkpKQor CisoZGVmaW5lICVtdWx0aXBhcnQtYm91bmRhcnkKKyAgOzsgWFhYOiBXZSBtaWdodCB3YW50IHRv IGZpbmQgYSBtb3JlIHJlbGlhYmxlIGJvdW5kYXJ5LgorICAoc3RyaW5nLWFwcGVuZCAobWFrZS1z dHJpbmcgMjQgI1wtKSAiMjY5ODEyN2FmZDc0MjVhNiIpKQorCisoZGVmaW5lIChieXRldmVjdG9y LT5mb3JtLWRhdGEgYnYgcG9ydCkKKyAgIldyaXRlIHRvIFBPUlQgYSAnbXVsdGlwYXJ0L2Zvcm0t ZGF0YScgcmVwcmVzZW50YXRpb24gb2YgQlYuIgorICAoZGlzcGxheSAoc3RyaW5nLWFwcGVuZCAi LS0iICVtdWx0aXBhcnQtYm91bmRhcnkgIlxyXG4iCisgICAgICAgICAgICAgICAgICAgICAgICAg ICJDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGFcclxuIgorICAgICAgICAgICAgICAgICAg ICAgICAgICAiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW1cclxuXHJcbiIp CisgICAgICAgICAgIHBvcnQpCisgIChwdXQtYnl0ZXZlY3RvciBwb3J0IGJ2KQorICAoZGlzcGxh eSAoc3RyaW5nLWFwcGVuZCAiXHJcbi0tIiAlbXVsdGlwYXJ0LWJvdW5kYXJ5ICItLVxyXG4iKQor ICAgICAgICAgICBwb3J0KSkKKworKGRlZmluZSogKGFkZC1kYXRhIGRhdGEgIzprZXkgKG5hbWUg ImZpbGUudHh0IikgcmVjdXJzaXZlPykKKyAgIkFkZCBEQVRBLCBhIGJ5dGV2ZWN0b3IsIHRvIElQ RlMuICBSZXR1cm4gYSBjb250ZW50IG9iamVjdCByZXByZXNlbnRpbmcgaXQuIgorICAoY2FsbCAo c3RyaW5nLWFwcGVuZCAoJWlwZnMtYmFzZS11cmwpCisgICAgICAgICAgICAgICAgICAgICAgICIv YXBpL3YwL2FkZD9hcmc9IiAodXJpLWVuY29kZSBuYW1lKQorICAgICAgICAgICAgICAgICAgICAg ICAiJnJlY3Vyc2l2ZT0iCisgICAgICAgICAgICAgICAgICAgICAgIChpZiByZWN1cnNpdmU/ICJ0 cnVlIiAiZmFsc2UiKSkKKyAgICAgICAganNvbi0+Y29udGVudAorICAgICAgICAjOmhlYWRlcnMK KyAgICAgICAgYCgoY29udGVudC10eXBlCisgICAgICAgICAgIC4gKG11bHRpcGFydC9mb3JtLWRh dGEKKyAgICAgICAgICAgICAgKGJvdW5kYXJ5IC4gLCVtdWx0aXBhcnQtYm91bmRhcnkpKSkpCisg ICAgICAgICM6Ym9keQorICAgICAgICAoY2FsbC13aXRoLWJ5dGV2ZWN0b3Itb3V0cHV0LXBvcnQK KyAgICAgICAgIChsYW1iZGEgKHBvcnQpCisgICAgICAgICAgIChieXRldmVjdG9yLT5mb3JtLWRh dGEgZGF0YSBwb3J0KSkpKSkKKworKGRlZmluZSAobm90LWRvdD8gZW50cnkpCisgIChub3QgKG1l bWJlciBlbnRyeSAnKCIuIiAiLi4iKSkpKQorCisoZGVmaW5lKiAoYWRkLWZpbGUgZmlsZSAjOmtl eSAobmFtZSAoYmFzZW5hbWUgZmlsZSkpKQorICAiQWRkIEZJTEUgdW5kZXIgTkFNRSB0byB0aGUg SVBGUyBhbmQgcmV0dXJuIGEgY29udGVudCBvYmplY3QgZm9yIGl0LiIKKyAgKGFkZC1kYXRhICht YXRjaCAoY2FsbC13aXRoLWlucHV0LWZpbGUgZmlsZSBnZXQtYnl0ZXZlY3Rvci1hbGwpCisgICAg ICAgICAgICAgICgoPyBlb2Ytb2JqZWN0PykgI3Z1OCgpKQorICAgICAgICAgICAgICAoYnYgYnYp KQorICAgICAgICAgICAgIzpuYW1lIG5hbWUpKQorCisoZGVmaW5lKiAoYWRkLWVtcHR5LWRpcmVj dG9yeSAjOmtleSAobmFtZSAiZGlyZWN0b3J5IikpCisgICJSZXR1cm4gYSBjb250ZW50IG9iamVj dCBmb3IgYW4gZW1wdHkgZGlyZWN0b3J5LiIKKyAgKGFkZC1kYXRhICN2dTgoKSAjOnJlY3Vyc2l2 ZT8gI3QgIzpuYW1lIG5hbWUpKQorCisoZGVmaW5lKiAoYWRkLXRvLWRpcmVjdG9yeSBkaXJlY3Rv cnkgZmlsZSBuYW1lKQorICAiQWRkIEZJTEUgdG8gRElSRUNUT1JZIHVuZGVyIE5BTUUsIGFuZCBy ZXR1cm4gdGhlIHJlc3VsdGluZyBkaXJlY3RvcnkuCitESVJFQ1RPUlkgYW5kIEZJTEUgbXVzdCBi ZSBoYXNoZXMgaWRlbnRpZnlpbmcgb2JqZWN0cyBpbiB0aGUgSVBGUyBzdG9yZS4iCisgIChjYWxs IChzdHJpbmctYXBwZW5kICglaXBmcy1iYXNlLXVybCkKKyAgICAgICAgICAgICAgICAgICAgICAg Ii9hcGkvdjAvb2JqZWN0L3BhdGNoL2FkZC1saW5rP2FyZz0iCisgICAgICAgICAgICAgICAgICAg ICAgICh1cmktZW5jb2RlIGRpcmVjdG9yeSkKKyAgICAgICAgICAgICAgICAgICAgICAgIiZhcmc9 IiAodXJpLWVuY29kZSBuYW1lKSAiJmFyZz0iICh1cmktZW5jb2RlIGZpbGUpCisgICAgICAgICAg ICAgICAgICAgICAgICImY3JlYXRlPXRydWUiKQorICAgICAgICBqc29uLT5kaXJlY3RvcnkpKQor CisoZGVmaW5lKiAocmVhZC1jb250ZW50cyBvYmplY3QgIzprZXkgb2Zmc2V0IGxlbmd0aCkKKyAg IlJldHVybiBhbiBpbnB1dCBwb3J0IHRvIHJlYWQgdGhlIGNvbnRlbnQgb2YgT0JKRUNUIGZyb20u IgorICAoY2FsbCAoc3RyaW5nLWFwcGVuZCAoJWlwZnMtYmFzZS11cmwpCisgICAgICAgICAgICAg ICAgICAgICAgICIvYXBpL3YwL2NhdD9hcmc9IiBvYmplY3QpCisgICAgICAgICNmKSkKKworKGRl ZmluZSogKHB1Ymxpc2gtbmFtZSBvYmplY3QpCisgICJQdWJsaXNoIE9CSkVDVCB1bmRlciB0aGUg Y3VycmVudCBwZWVyIElELiIKKyAgKGNhbGwgKHN0cmluZy1hcHBlbmQgKCVpcGZzLWJhc2UtdXJs KQorICAgICAgICAgICAgICAgICAgICAgICAiL2FwaS92MC9uYW1lL3B1Ymxpc2g/YXJnPSIgb2Jq ZWN0KQorICAgICAgICBqc29uLT5iaW5kaW5nKSkKZGlmZiAtLWdpdCBhL3Rlc3RzL2lwZnMuc2Nt IGIvdGVzdHMvaXBmcy5zY20KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4u M2I2NjJiMjJiZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2lwZnMuc2NtCkBAIC0wLDAgKzEs NTUgQEAKKzs7OyBHTlUgR3VpeCAtLS0gRnVuY3Rpb25hbCBwYWNrYWdlIG1hbmFnZW1lbnQgZm9y IEdOVQorOzs7IENvcHlyaWdodCDCqSAyMDE4IEx1ZG92aWMgQ291cnTDqHMgPGx1ZG9AZ251Lm9y Zz4KKzs7OworOzs7IFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBHdWl4LgorOzs7Cis7OzsgR05V IEd1aXggaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1v ZGlmeSBpdAorOzs7IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5Cis7OzsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg ZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cis7OzsgeW91ciBvcHRpb24p IGFueSBsYXRlciB2ZXJzaW9uLgorOzs7Cis7OzsgR05VIEd1aXggaXMgZGlzdHJpYnV0ZWQgaW4g dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0Cis7OzsgV0lUSE9VVCBBTlkgV0FS UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorOzs7IE1FUkNIQU5U QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKzs7 OyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorOzs7Cis7Ozsg WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UKKzs7OyBhbG9uZyB3aXRoIEdOVSBHdWl4LiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93 d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorCisoZGVmaW5lLW1vZHVsZSAodGVzdC1pcGZzKQorICAj OnVzZS1tb2R1bGUgKGd1aXggaXBmcykKKyAgIzp1c2UtbW9kdWxlICgoZ3VpeCB1dGlscykgIzpz ZWxlY3QgKGNhbGwtd2l0aC10ZW1wb3JhcnktZGlyZWN0b3J5KSkKKyAgIzp1c2UtbW9kdWxlIChn dWl4IHRlc3RzKQorICAjOnVzZS1tb2R1bGUgKHdlYiB1cmkpCisgICM6dXNlLW1vZHVsZSAoc3Jm aSBzcmZpLTY0KSkKKworOzsgVGVzdCB0aGUgKGd1aXggaXBmcykgbW9kdWxlLgorCisoZGVmaW5l IChpcGZzLWdhdGV3YXktcnVubmluZz8pCisgICJSZXR1cm4gdHJ1ZSBpZiB0aGUgSVBGUyBnYXRl d2F5IGlzIHJ1bm5pbmcgYXQgJUlQRlMtQkFTRS1VUkwuIgorICAobGV0KiAoKHVyaSAgICAoc3Ry aW5nLT51cmkgKCVpcGZzLWJhc2UtdXJsKSkpCisgICAgICAgICAoc29ja2V0IChzb2NrZXQgQUZf SU5FVCBTT0NLX1NUUkVBTSAwKSkpCisgICAgKGRlZmluZSBjb25uZWN0ZWQ/CisgICAgICAoY2F0 Y2ggJ3N5c3RlbS1lcnJvcgorICAgICAgICAobGFtYmRhICgpCisgICAgICAgICAgKGZvcm1hdCAo Y3VycmVudC1lcnJvci1wb3J0KQorICAgICAgICAgICAgICAgICAgInByb2JpbmcgSVBGUyBnYXRl d2F5IGF0IGxvY2FsaG9zdDp+YS4uLn4lIgorICAgICAgICAgICAgICAgICAgKHVyaS1wb3J0IHVy aSkpCisgICAgICAgICAgKGNvbm5lY3Qgc29ja2V0IEFGX0lORVQgSU5BRERSX0xPT1BCQUNLICh1 cmktcG9ydCB1cmkpKQorICAgICAgICAgICN0KQorICAgICAgICAoY29uc3QgI2YpKSkKKworICAg IChjbG9zZS1wb3J0IHNvY2tldCkKKyAgICBjb25uZWN0ZWQ/KSkKKworKHVubGVzcyAoaXBmcy1n YXRld2F5LXJ1bm5pbmc/KQorICAodGVzdC1za2lwIDEpKQorCisodGVzdC1hc3NlcnQgImFkZC1m aWxlLXRyZWUgKyByZXN0b3JlLWZpbGUtdHJlZSIKKyAgKGNhbGwtd2l0aC10ZW1wb3JhcnktZGly ZWN0b3J5CisgICAobGFtYmRhIChkaXJlY3RvcnkpCisgICAgIChsZXQqICgoc291cmNlICAoZGly bmFtZSAoc2VhcmNoLXBhdGggJWxvYWQtcGF0aCAiZ3VpeC9iYXNlMzIuc2NtIikpKQorICAgICAg ICAgICAgKHRhcmdldCAgKHN0cmluZy1hcHBlbmQgZGlyZWN0b3J5ICIvciIpKQorICAgICAgICAg ICAgKGNvbnRlbnQgKHBrICdjb250ZW50IChhZGQtZmlsZS10cmVlIHNvdXJjZSkpKSkKKyAgICAg ICAocmVzdG9yZS1maWxlLXRyZWUgKGNvbnRlbnQtbmFtZSBjb250ZW50KSB0YXJnZXQpCisgICAg ICAgKGZpbGU9PyBzb3VyY2UgdGFyZ2V0KSkpKSkKLS0gCjIuMzEuMQoK --=-ufV58dvMe9wsREZmXbGS Content-Disposition: attachment; filename*0=0003-tests-Support-package-extensions-in-the-backdoor-REP.pat; filename*1=ch Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="0003-tests-Support-package-extensions-in-the-backdoor-REP.patch"; charset="UTF-8" RnJvbSBiYmYzNTI3Mjc3NWRlNjNhZDY0YWVkOThhMmZhMDgxMzc0ZjI4NTA1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXhpbWUgRGV2b3MgPG1heGltZWRldm9zQHRlbGVuZXQuYmU+ CkRhdGU6IFR1ZSwgMzAgTWFyIDIwMjEgMTI6NDA6MTQgKzAyMDAKU3ViamVjdDogW1BBVENIIDMv NF0gdGVzdHM6IFN1cHBvcnQgcGFja2FnZSBleHRlbnNpb25zIGluIHRoZSBiYWNrZG9vciBSRVBM LgoKKiBnbnUvdGVzdHMuc2NtCiAgKDxtYXJpb25ldHRlLWNvbmZpZ3VyYXRpb24+KTogQWRkICdl eHRlbnNpb25zJyBmaWVsZC4KICAobWFyaW9uZXR0ZS1zaGVwaGVyZC1zZXJ2aWNlKTogSG9ub3Vy IHRoZSBmaWVsZC4KICAod2l0aC1pbXBvcnQtbW9kdWxlcy1hbmQtZXh0ZW5zaW9ucyk6IERlZmlu ZSBhIGNvbWJpbmF0aW9uCiAgb2YgJ3dpdGgtaW1wb3J0LW1vZHVsZXMnIGFuZCAnd2l0aC1leHRl bnNpb25zJy4KLS0tCiBnbnUvdGVzdHMuc2NtIHwgMjYgKysrKysrKysrKysrKysrKysrKysrKyst LS0KIDEgZmlsZSBjaGFuZ2VkLCAyMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2dudS90ZXN0cy5zY20gYi9nbnUvdGVzdHMuc2NtCmluZGV4IDNiMTBhNmQ1YWMu LmViNjM2ODczYTIgMTAwNjQ0Ci0tLSBhL2dudS90ZXN0cy5zY20KKysrIGIvZ251L3Rlc3RzLnNj bQpAQCAtMiw2ICsyLDcgQEAKIDs7OyBDb3B5cmlnaHQgwqkgMjAxNiwgMjAxNywgMjAxOCwgMjAx OSwgMjAyMCBMdWRvdmljIENvdXJ0w6hzIDxsdWRvQGdudS5vcmc+CiA7OzsgQ29weXJpZ2h0IMKp IDIwMTcgTWF0aGlldSBPdGhhY2VoZSA8bS5vdGhhY2VoZUBnbWFpbC5jb20+CiA7OzsgQ29weXJp Z2h0IMKpIDIwMTcgVG9iaWFzIEdlZXJpbmNreC1SaWNlIDxtZUB0b2JpYXMuZ3I+Cis7OzsgQ29w eXJpZ2h0IMKpIDIwMjEgTWF4aW1lIERldm9zIDxtYXhpbWVkZXZvc0B0ZWxlbmV0LmJlPgogOzs7 CiA7OzsgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEd1aXguCiA7OzsKQEAgLTc0LDEzICs3NSwy NCBAQAogICAgICAgICAgICAgICAgICAgICAoZGVmYXVsdCAiL2Rldi92aXJ0aW8tcG9ydHMvb3Jn LmdudS5ndWl4LnBvcnQuMCIpKQogICAoaW1wb3J0ZWQtbW9kdWxlcyBtYXJpb25ldHRlLWNvbmZp Z3VyYXRpb24taW1wb3J0ZWQtbW9kdWxlcwogICAgICAgICAgICAgICAgICAgICAoZGVmYXVsdCAn KCkpKQorICAoZXh0ZW5zaW9ucyAgICAgICBtYXJpb25ldHRlLWNvbmZpZ3VyYXRpb24tZXh0ZW5z aW9ucworICAgICAgICAgICAgICAgICAgICAoZGVmYXVsdCAnKCkpKSA7IGxpc3Qgb2YgcGFja2Fn ZXMKICAgKHJlcXVpcmVtZW50cyAgICAgbWFyaW9uZXR0ZS1jb25maWd1cmF0aW9uLXJlcXVpcmVt ZW50cyA7bGlzdCBvZiBzeW1ib2xzCiAgICAgICAgICAgICAgICAgICAgIChkZWZhdWx0ICcoKSkp KQogCis7OyBIYWNrOiBhdm9pZCBpbmRlbnRpbmcgY29kZSBiZXlvbmQgY29sdW1uIDgwIGluIG1h cmlvbmV0dGUtc2hlcGhlcmQtc2VydmljZS4KKyhkZWZpbmUtc3ludGF4LXJ1bGUgKHdpdGgtaW1w b3J0ZWQtbW9kdWxlcy1hbmQtZXh0ZW5zaW9ucyBpbXBvcnRlZC1tb2R1bGVzCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0ZW5zaW9u cworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGdleHApCisgICh3aXRoLWltcG9ydGVkLW1vZHVsZXMgaW1wb3J0ZWQtbW9kdWxlcworICAg ICh3aXRoLWV4dGVuc2lvbnMgZXh0ZW5zaW9ucworICAgICAgZ2V4cCkpKQorCiAoZGVmaW5lICht YXJpb25ldHRlLXNoZXBoZXJkLXNlcnZpY2UgY29uZmlnKQogICAiUmV0dXJuIHRoZSBTaGVwaGVy ZCBzZXJ2aWNlIGZvciB0aGUgbWFyaW9uZXR0ZSBSRVBMIgogICAobWF0Y2ggY29uZmlnCi0gICAg KCgkIDxtYXJpb25ldHRlLWNvbmZpZ3VyYXRpb24+IGRldmljZSBpbXBvcnRlZC1tb2R1bGVzIHJl cXVpcmVtZW50KQorICAgICgoJCA8bWFyaW9uZXR0ZS1jb25maWd1cmF0aW9uPiBkZXZpY2UgaW1w b3J0ZWQtbW9kdWxlcyBleHRlbnNpb25zCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHJlcXVpcmVtZW50KQogICAgICAobGlzdCAoc2hlcGhlcmQtc2VydmljZQogICAgICAgICAg ICAgKHByb3Zpc2lvbiAnKG1hcmlvbmV0dGUpKQogCkBAIC05MCw3ICsxMDIsNyBAQAogICAgICAg ICAgICAgKG1vZHVsZXMgJygoaWNlLTkgbWF0Y2gpCiAgICAgICAgICAgICAgICAgICAgICAgIChz cmZpIHNyZmktOSBnbnUpKSkKICAgICAgICAgICAgIChzdGFydAotICAgICAgICAgICAgICh3aXRo LWltcG9ydGVkLW1vZHVsZXMgaW1wb3J0ZWQtbW9kdWxlcworICAgICAgICAgICAgICh3aXRoLWlt cG9ydGVkLW1vZHVsZXMtYW5kLWV4dGVuc2lvbnMgaW1wb3J0ZWQtbW9kdWxlcyBleHRlbnNpb25z CiAgICAgICAgICAgICAgICAjfihsYW1iZGEgKCkKICAgICAgICAgICAgICAgICAgICAoZGVmaW5l IChzZWxmLXF1b3Rpbmc/IHgpCiAgICAgICAgICAgICAgICAgICAgICAobGV0cmVjLXN5bnRheCAo KG9uZS1vZiAoc3ludGF4LXJ1bGVzICgpCkBAIC0xNTQsMTEgKzE2NiwxMyBAQAogKGRlZmluZSog KG1hcmlvbmV0dGUtb3BlcmF0aW5nLXN5c3RlbSBvcwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAjOmtleQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoaW1wb3J0ZWQtbW9kdWxlcyAnKCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChleHRlbnNpb25zICcoKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKHJlcXVpcmVtZW50cyAnKCkpKQogICAiUmV0dXJuIGEgbWFyaW9uZXR0ZWVkIHZhcmlh bnQgb2YgT1Mgc3VjaCB0aGF0IE9TIGNhbiBiZSB1c2VkIGFzIGEKIG1hcmlvbmV0dGUgaW4gYSB2 aXJ0dWFsIG1hY2hpbmUtLWkuZS4sIGNvbnRyb2xsZWQgZnJvbSB0aGUgaG9zdCBzeXN0ZW0uICBU aGUKIG1hcmlvbmV0dGUgc2VydmljZSBpbiB0aGUgZ3Vlc3QgaXMgc3RhcnRlZCBhZnRlciB0aGUg U2hlcGhlcmQgc2VydmljZXMgbGlzdGVkCi1pbiBSRVFVSVJFTUVOVFMuIgoraW4gUkVRVUlSRU1F TlRTLiAgVGhlIHBhY2thZ2VzIGluIHRoZSBsaXN0IEVYVEVOU0lPTlMgYXJlIG1hZGUgYXZhaWxh YmxlIGZyb20KK3RoZSBiYWNrZG9vciBSRVBMLiIKICAgKG9wZXJhdGluZy1zeXN0ZW0KICAgICAo aW5oZXJpdCBvcykKICAgICA7OyBNYWtlIHN1cmUgdGhlIGd1ZXN0IGRpZXMgb24gZXJyb3IuCkBA IC0xNzIsNiArMTg2LDcgQEAgaW4gUkVRVUlSRU1FTlRTLiIKICAgICAoc2VydmljZXMgKGNvbnMg KHNlcnZpY2UgbWFyaW9uZXR0ZS1zZXJ2aWNlLXR5cGUKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKG1hcmlvbmV0dGUtY29uZmlndXJhdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKHJlcXVpcmVtZW50cyByZXF1aXJlbWVudHMpCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoZXh0ZW5zaW9ucyBleHRlbnNpb25zKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKGltcG9ydGVkLW1vZHVsZXMgaW1wb3J0ZWQtbW9kdWxlcykpKQogICAgICAgICAgICAg ICAgICAgICAob3BlcmF0aW5nLXN5c3RlbS11c2VyLXNlcnZpY2VzIG9zKSkpKSkKIApAQCAtMjgx LDQgKzI5Niw5IEBAIHJlc3VsdC4iCiAgICJSZXR1cm4gdGhlIGxpc3Qgb2Ygc3lzdGVtIHRlc3Rz LiIKICAgKHJldmVyc2UgKGZvbGQtc3lzdGVtLXRlc3RzIGNvbnMgJygpKSkpCiAKKworOzsgTG9j YWwgVmFyaWFibGVzOgorOzsgZXZhbDogKHB1dCAnd2l0aC1pbXBvcnRlZC1tb2R1bGVzLWFuZC1l eHRlbnNpb25zICdzY2hlbWUtaW5kZW50LWZ1bmN0aW9uIDIpCis7OyBFbmQ6CisKIDs7OyB0ZXN0 cy5zY20gZW5kcyBoZXJlCi0tIAoyLjMxLjEKCg== --=-ufV58dvMe9wsREZmXbGS Content-Disposition: attachment; filename*0=0004-gnu-tests-Test-basic-funtionality-of-the-IPFS-servic.pat; filename*1=ch Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="0004-gnu-tests-Test-basic-funtionality-of-the-IPFS-servic.patch"; charset="UTF-8" RnJvbSBiOTEzNGM2MGQ5ZTY2MmRkNDk3Y2FmMGMxODE5ZTNlMDRhNWU4YjRlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXhpbWUgRGV2b3MgPG1heGltZWRldm9zQHRlbGVuZXQuYmU+ CkRhdGU6IFN1biwgMjggTWFyIDIwMjEgMTc6MDE6NDkgKzAyMDAKU3ViamVjdDogW1BBVENIIDQv NF0gZ251OiB0ZXN0czogVGVzdCBiYXNpYyBmdW50aW9uYWxpdHkgb2YgdGhlIElQRlMgc2Vydmlj ZS4KCkl0IGlzIHRlc3RlZCB3aGV0aGVyIHRoZSBJUEZTIHNlcnZpY2UgbGlzdGVucwphdCB0aGUg Z2F0ZXdheSBhbmQgQVBJIHBvcnRzIGFuZCB3aGV0aGVyIGl0CmlzIHBvc3NpYmxlIHRvIHVwbG9h ZCBhbmQgZG93bmxvYWQgYSBieXRldmVjdG9yLgoKKiBnbnUvdGVzdHMvbmV0d29ya2luZy5zY20K ICAoJWlwZnMtb3MpOiBOZXcgdmFyaWFibGUuCiAgKHJ1bi1pcGZzLXRlc3QpOiBOZXcgcHJvY2Vk dXJlLgogICgldGVzdC1pcGZzKTogTmV3IHN5c3RlbSB0ZXN0LgotLS0KIGdudS90ZXN0cy9uZXR3 b3JraW5nLnNjbSB8IDkyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0K IDEgZmlsZSBjaGFuZ2VkLCA5MSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0t Z2l0IGEvZ251L3Rlc3RzL25ldHdvcmtpbmcuc2NtIGIvZ251L3Rlc3RzL25ldHdvcmtpbmcuc2Nt CmluZGV4IDAyMjY2M2FhNjcuLjQ1M2U2M2Y1MmQgMTAwNjQ0Ci0tLSBhL2dudS90ZXN0cy9uZXR3 b3JraW5nLnNjbQorKysgYi9nbnUvdGVzdHMvbmV0d29ya2luZy5zY20KQEAgLTMsNiArMyw3IEBA CiA7OzsgQ29weXJpZ2h0IMKpIDIwMTcsIDIwMjAgTWFyaXVzIEJha2tlIDxtYXJpdXNAZ251Lm9y Zz4KIDs7OyBDb3B5cmlnaHQgwqkgMjAxOCBDaHJpcyBNYXJ1c2ljaCA8Y21tYXJ1c2ljaEBnbWFp bC5jb20+CiA7OzsgQ29weXJpZ2h0IMKpIDIwMTggQXJ1biBJc2FhYyA8YXJ1bmlzYWFjQHN5c3Rl bXJlYm9vdC5uZXQ+Cis7OzsgQ29weXJpZ2h0IMKpIDIwMjEgTWF4aW1lIERldm9zIDxtYXhpbWVk ZXZvc0B0ZWxlbmV0LmJlPgogOzs7CiA7OzsgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEd1aXgu CiA7OzsKQEAgLTI5LDEyICszMCwxNSBAQAogICAjOnVzZS1tb2R1bGUgKGd1aXggZ2V4cCkKICAg Izp1c2UtbW9kdWxlIChndWl4IHN0b3JlKQogICAjOnVzZS1tb2R1bGUgKGd1aXggbW9uYWRzKQor ICAjOnVzZS1tb2R1bGUgKGd1aXggbW9kdWxlcykKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2Fn ZXMgYmFzaCkKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgbGludXgpCiAgICM6dXNlLW1v ZHVsZSAoZ251IHBhY2thZ2VzIG5ldHdvcmtpbmcpCisgICM6dXNlLW1vZHVsZSAoZ251IHBhY2th Z2VzIGd1aWxlKQogICAjOnVzZS1tb2R1bGUgKGdudSBzZXJ2aWNlcyBzaGVwaGVyZCkKICAgIzp1 c2UtbW9kdWxlIChpY2UtOSBtYXRjaCkKLSAgIzpleHBvcnQgKCV0ZXN0LWluZXRkICV0ZXN0LW9w ZW52c3dpdGNoICV0ZXN0LWRoY3BkICV0ZXN0LXRvciAldGVzdC1pcHRhYmxlcykpCisgICM6ZXhw b3J0ICgldGVzdC1pbmV0ZCAldGVzdC1vcGVudnN3aXRjaCAldGVzdC1kaGNwZCAldGVzdC10b3Ig JXRlc3QtaXB0YWJsZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICV0ZXN0LWlwZnMpKQogCiAo ZGVmaW5lICVpbmV0ZC1vcwogICA7OyBPcGVyYXRpbmcgc3lzdGVtIHdpdGggMiBpbmV0ZCBzZXJ2 aWNlcy4KQEAgLTU2MywzICs1NjcsODkgQEAgQ09NTUlUCiAgICAobmFtZSAiaXB0YWJsZXMiKQog ICAgKGRlc2NyaXB0aW9uICJUZXN0IGEgcnVubmluZyBpcHRhYmxlcyBkYWVtb24uIikKICAgICh2 YWx1ZSAocnVuLWlwdGFibGVzLXRlc3QpKSkpCisKKwwKKzs7OworOzs7IElQRlMgc2VydmljZQor Ozs7CisKKyhkZWZpbmUgJWlwZnMtb3MKKyAgKHNpbXBsZS1vcGVyYXRpbmctc3lzdGVtCisgICAo c2VydmljZSBpcGZzLXNlcnZpY2UtdHlwZSkpKQorCisoZGVmaW5lIChydW4taXBmcy10ZXN0KQor ICAoZGVmaW5lIG9zCisgICAgKG1hcmlvbmV0dGUtb3BlcmF0aW5nLXN5c3RlbSAlaXBmcy1vcwor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzppbXBvcnRlZC1tb2R1bGVzIChzb3Vy Y2UtbW9kdWxlLWNsb3N1cmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJygoZ251IHNlcnZpY2VzIGhlcmQpCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGd1aXggaXBmcykpKQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIzpleHRlbnNpb25zIChsaXN0IGd1aWxlLWpzb24t NCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM6cmVxdWlyZW1lbnRzICcoaXBm cykpKQorCisgIChkZWZpbmUgdGVzdAorICAgICh3aXRoLWltcG9ydGVkLW1vZHVsZXMgJygoZ251 IGJ1aWxkIG1hcmlvbmV0dGUpKQorICAgICAgI34oYmVnaW4KKyAgICAgICAgICAodXNlLW1vZHVs ZXMgKGdudSBidWlsZCBtYXJpb25ldHRlKQorICAgICAgICAgICAgICAgICAgICAgICAocm5ycyBi eXRldmVjdG9ycykKKyAgICAgICAgICAgICAgICAgICAgICAgKHNyZmkgc3JmaS02NCkKKyAgICAg ICAgICAgICAgICAgICAgICAgKGljZS05IGJpbmFyeS1wb3J0cykpCisKKyAgICAgICAgICAoZGVm aW5lIG1hcmlvbmV0dGUKKyAgICAgICAgICAgIChtYWtlLW1hcmlvbmV0dGUgKGxpc3QgIyQodmly dHVhbC1tYWNoaW5lIG9zKSkpKQorCisgICAgICAgICAgKGRlZmluZSAoaXBmcy1pcy1hbGl2ZT8p CisgICAgICAgICAgICAobWFyaW9uZXR0ZS1ldmFsCisgICAgICAgICAgICAgJyhiZWdpbgorICAg ICAgICAgICAgICAgICh1c2UtbW9kdWxlcyAoZ251IHNlcnZpY2VzIGhlcmQpCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChzcmZpIHNyZmktMSkpCisgICAgICAgICAgICAgICAgKGxpdmUt c2VydmljZS1ydW5uaW5nCisgICAgICAgICAgICAgICAgIChmaW5kIChsYW1iZGEgKGxpdmUpCisg ICAgICAgICAgICAgICAgICAgICAgICAgKG1lbXEgJ2lwZnMKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAobGl2ZS1zZXJ2aWNlLXByb3Zpc2lvbiBsaXZlKSkpCisgICAgICAgICAgICAg ICAgICAgICAgIChjdXJyZW50LXNlcnZpY2VzKSkpKQorICAgICAgICAgICAgIG1hcmlvbmV0dGUp KQorCisgICAgICAgICAgOzsgVGhlIGRlZmF1bHQgQVBJIGVuZHBvaW50IHBvcnQgNTAwMSBpcyB1 c2VkLAorICAgICAgICAgIDs7IHNvIHRoZXJlIGlzIG5vIG5lZWQgdG8gcGFyYW1ldGVyaXplICVp cGZzLWJhc2UtdXJsLgorICAgICAgICAgIChkZWZpbmUgKGFkZC1kYXRhIGRhdGEpCisgICAgICAg ICAgICAobWFyaW9uZXR0ZS1ldmFsIGAoY29udGVudC1uYW1lIChhZGQtZGF0YSAsZGF0YSkpIG1h cmlvbmV0dGUpKQorICAgICAgICAgIChkZWZpbmUgKHJlYWQtY29udGVudHMgb2JqZWN0KQorICAg ICAgICAgICAgKG1hcmlvbmV0dGUtZXZhbAorICAgICAgICAgICAgIGAobGV0KiAoKGlucHV0IChy ZWFkLWNvbnRlbnRzICxvYmplY3QpKQorICAgICAgICAgICAgICAgICAgICAgKGFsbC1pbnB1dCAo Z2V0LWJ5dGV2ZWN0b3ItYWxsIGlucHV0KSkpCisgICAgICAgICAgICAgICAgKGNsb3NlLXBvcnQg aW5wdXQpCisgICAgICAgICAgICAgICAgYWxsLWlucHV0KQorICAgICAgICAgICAgIG1hcmlvbmV0 dGUpKQorCisgICAgICAgICAgKG1hcmlvbmV0dGUtZXZhbCAnKHVzZS1tb2R1bGVzIChndWl4IGlw ZnMpKSBtYXJpb25ldHRlKQorICAgICAgICAgIChta2RpciAjJG91dHB1dCkKKyAgICAgICAgICAo Y2hkaXIgIyRvdXRwdXQpCisKKyAgICAgICAgICAodGVzdC1iZWdpbiAiaXBmcyIpCisKKyAgICAg ICAgICA7OyBUZXN0IHRoZSBJUEZTIHNlcnZpY2UuCisKKyAgICAgICAgICAodGVzdC1hc3NlcnQg ImlwZnMgaXMgYWxpdmUiIChpcGZzLWlzLWFsaXZlPykpCisKKyAgICAgICAgICAodGVzdC1hc3Nl cnQgImlwZnMgaXMgbGlzdGVuaW5nIG9uIHRoZSBnYXRld2F5IgorICAgICAgICAgICAgKGxldCAo KGRlZmF1bHQtcG9ydCA4MDgyKSkKKyAgICAgICAgICAgICAgKHdhaXQtZm9yLXRjcC1wb3J0IGRl ZmF1bHQtcG9ydCBtYXJpb25ldHRlKSkpCisKKyAgICAgICAgICAodGVzdC1hc3NlcnQgImlwZnMg aXMgbGlzdGVuaW5nIG9uIHRoZSBBUEkgZW5kcG9pbnQiCisgICAgICAgICAgICAobGV0ICgoZGVm YXVsdC1wb3J0IDUwMDEpKQorICAgICAgICAgICAgICAod2FpdC1mb3ItdGNwLXBvcnQgZGVmYXVs dC1wb3J0IG1hcmlvbmV0dGUpKSkKKworICAgICAgICAgIChkZWZpbmUgdGVzdC1idiAoc3RyaW5n LT51dGY4ICJoZWxsbyBpcGZzISIpKQorICAgICAgICAgICh0ZXN0LWVxdWFsICJjYW4gdXBsb2Fk IGFuZCBkb3dubG9hZCBhIGZpbGUgdG8vZnJvbSBpcGZzIgorICAgICAgICAgICAgdGVzdC1idgor ICAgICAgICAgICAgKHJlYWQtY29udGVudHMgKGFkZC1kYXRhIHRlc3QtYnYpKSkKKworICAgICAg ICAgICh0ZXN0LWVuZCkKKyAgICAgICAgICAoZXhpdCAoPSAodGVzdC1ydW5uZXItZmFpbC1jb3Vu dCAodGVzdC1ydW5uZXItY3VycmVudCkpIDApKSkpKQorICAoZ2V4cC0+ZGVyaXZhdGlvbiAiaXBm cy10ZXN0IiB0ZXN0KSkKKworKGRlZmluZSAldGVzdC1pcGZzCisgIChzeXN0ZW0tdGVzdAorICAg KG5hbWUgImlwZnMiKQorICAgKGRlc2NyaXB0aW9uICJUZXN0IGEgcnVubmluZyBJUEZTIGRhZW1v biBjb25maWd1cmF0aW9uLiIpCisgICAodmFsdWUgKHJ1bi1pcGZzLXRlc3QpKSkpCi0tIAoyLjMx LjEKCg== --=-ufV58dvMe9wsREZmXbGS-- --=-FFnUm5+BO1TihZNdja5Y Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- iI0EABYIADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYGMpqhccbWF4aW1lZGV2 b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7it8AP9QGignIWYu/Ld+eendn57JkHrY 2vqwGGGXSyU2EeT4RAEA11x3F5zE5cLTG9bqejM/7mV7aNYLugGNqvn+lyEa/As= =oRrp -----END PGP SIGNATURE----- --=-FFnUm5+BO1TihZNdja5Y-- From debbugs-submit-bounces@debbugs.gnu.org Mon Apr 12 12:48:24 2021 Received: (at 45905-done) by debbugs.gnu.org; 12 Apr 2021 16:48:24 +0000 Received: from localhost ([127.0.0.1]:57912 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lVzjc-0004Iy-5x for submit@debbugs.gnu.org; Mon, 12 Apr 2021 12:48:24 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46264) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lVzja-0004Il-PI for 45905-done@debbugs.gnu.org; Mon, 12 Apr 2021 12:48:23 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:58413) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lVzjV-0007My-Cm; Mon, 12 Apr 2021 12:48:17 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=49066 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lVzjU-0004Kt-9b; Mon, 12 Apr 2021 12:48:16 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Maxime Devos Subject: Re: bug#45905: [PATCH] IPFS service definition References: <42e840c5a55968ecf8173e4eb84af7dc415f3a51.camel@telenet.be> Date: Mon, 12 Apr 2021 18:48:15 +0200 In-Reply-To: <42e840c5a55968ecf8173e4eb84af7dc415f3a51.camel@telenet.be> (Maxime Devos's message of "Tue, 30 Mar 2021 15:37:46 +0200") Message-ID: <87im4ro3e8.fsf_-_@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 45905-done Cc: 45905-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi Maxime, Apologies for the delay =E2=80=94 I had not seen this new version. Maxime Devos skribis: > From 74149efb0dbd1b412fdd14aa87bee80640ea5463 Mon Sep 17 00:00:00 2001 > From: Maxime Devos > Date: Fri, 15 Jan 2021 21:46:42 +0100 > Subject: [PATCH 1/4] services: Add ipfs-service-type > > * gnu/services/networking.scm (ipfs-service-type) > (%ipfs-home-mapping, %ipfs-environment) > (%ipfs-accounts, %ipfs-home): New variables. > (ipfs-configuration, ipfs-configuration?) > (ipfs-configuration-package, ipfs-configuration-gateway) > (ipfs-configuration-api, ipfs-shepherd-service) > (ipfs-binary, %ipfs-activation): New procedures. > * doc/guix.texi (Networking Services): Document it. [...] > From c1ca4e25ff35fabe89fc7a8b2b4d3521840236c9 Mon Sep 17 00:00:00 2001 > From: =3D?UTF-8?q?Ludovic=3D20Court=3DC3=3DA8s?=3D > Date: Fri, 28 Dec 2018 01:07:58 +0100 > Subject: [PATCH 2/4] Add (guix ipfs). > > This module allows for communicating with the IPFS > gateway over the HTTP interface. The commit has been > cherry-picked from . > > The procedures for adding and restoring file trees have > been removed as according to a reply issue 33899, a different > format will be used. The procedure 'add-data' has been > exported as it will be used in the system test for IPFS. > > * guix/ipfs.scm: New file. > * Makefile.am (MODULES): Add it. [...] > From bbf35272775de63ad64aed98a2fa081374f28505 Mon Sep 17 00:00:00 2001 > From: Maxime Devos > Date: Tue, 30 Mar 2021 12:40:14 +0200 > Subject: [PATCH 3/4] tests: Support package extensions in the backdoor RE= PL. > > * gnu/tests.scm > (): Add 'extensions' field. > (marionette-shepherd-service): Honour the field. > (with-import-modules-and-extensions): Define a combination > of 'with-import-modules' and 'with-extensions'. [...] > From b9134c60d9e662dd497caf0c1819e3e04a5e8b4e Mon Sep 17 00:00:00 2001 > From: Maxime Devos > Date: Sun, 28 Mar 2021 17:01:49 +0200 > Subject: [PATCH 4/4] gnu: tests: Test basic funtionality of the IPFS serv= ice. > > It is tested whether the IPFS service listens > at the gateway and API ports and whether it > is possible to upload and download a bytevector. > > * gnu/tests/networking.scm > (%ipfs-os): New variable. > (run-ipfs-test): New procedure. > (%test-ipfs): New system test. Pushed all four patches as 68c9e0a56e008f19427bd213cf5b24bdd8fe5922. Thanks! Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Mon Apr 12 14:36:02 2021 Received: (at 45905-done) by debbugs.gnu.org; 12 Apr 2021 18:36:02 +0000 Received: from localhost ([127.0.0.1]:58066 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lW1Pl-0000bF-Qb for submit@debbugs.gnu.org; Mon, 12 Apr 2021 14:36:02 -0400 Received: from baptiste.telenet-ops.be ([195.130.132.51]:47126) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lW1Pj-0000ay-Io for 45905-done@debbugs.gnu.org; Mon, 12 Apr 2021 14:36:00 -0400 Received: from ptr-bvsjgyjmffd7q9timvx.18120a2.ip6.access.telenet.be ([IPv6:2a02:1811:8c09:9d00:aaf1:9810:a0b8:a55d]) by baptiste.telenet-ops.be with bizsmtp id rubx2400F0mfAB401ubxnV; Mon, 12 Apr 2021 20:35:57 +0200 Message-ID: <76c6d139042ddb60de88253af28393a258c4a599.camel@telenet.be> Subject: Re: bug#45905: [PATCH] IPFS service definition From: Maxime Devos To: Ludovic =?ISO-8859-1?Q?Court=E8s?= Date: Mon, 12 Apr 2021 20:35:57 +0200 In-Reply-To: <87im4ro3e8.fsf_-_@gnu.org> References: <42e840c5a55968ecf8173e4eb84af7dc415f3a51.camel@telenet.be> <87im4ro3e8.fsf_-_@gnu.org> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r21; t=1618252557; bh=qERKzG6kd7gI0qYHVwTPR9EuClt6WLwjAdShk1Ocwmg=; h=Subject:From:To:Cc:Date:In-Reply-To:References; b=RgxFg+PQJ+NM9TNVuRVD9MWmUCyAfIlwZ4lJ1KmsIJOCBWH0fWmyZ+JiqARo4b4yh 7QALBAZAQMbEBilsgiRw0WKXwzZJWdNNdeQgHA8/KbuHVisFWii34Hl/NU6kyjFMx2 LO/IAsF49paBAITm+31WdIJJ96PCNudDJHrZXe9tPPI0sAaTEPc08ECK3+6XCqLsFb Hi5rIJKQgw1+vF1/GAxjC8Bv1eSZAOrzpDOHat5r6lOJ7lBMwWJY8UxIMj3PDU36qp SQBdv/OroeJWerGcYkqES/Q5UzMnr1k9LBWCxgrBD11o8MXYFyAXH5AFAJYhGV1hdK Y6m/W4Imv4Jqg== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 45905-done Cc: 45905-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Mon, 2021-04-12 at 18:48 +0200, Ludovic Courtès wrote: > [...] > > Pushed all four patches as 68c9e0a56e008f19427bd213cf5b24bdd8fe5922. > > Thanks! Thanks! Maxime. From unknown Mon Jun 23 23:47:11 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Tue, 11 May 2021 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator