From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id AFs5L8NrBWKLdgEAgWs5BA (envelope-from ) for ; Thu, 10 Feb 2022 20:47:15 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id QPsPKMNrBWKHoAAAG6o9tA (envelope-from ) for ; Thu, 10 Feb 2022 20:47:15 +0100 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 95ED22DDBE for ; Thu, 10 Feb 2022 20:47:14 +0100 (CET) Received: from localhost ([::1]:43696 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nIFPN-0007We-NZ for larch@yhetil.org; Thu, 10 Feb 2022 14:47:13 -0500 Received: from eggs.gnu.org ([209.51.188.92]:45190) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nIFPD-0007Tw-Mx for guix-patches@gnu.org; Thu, 10 Feb 2022 14:47:03 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:35056) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nIFPC-0002Cy-C6 for guix-patches@gnu.org; Thu, 10 Feb 2022 14:47:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nIFPB-0001Yb-Rm for guix-patches@gnu.org; Thu, 10 Feb 2022 14:47:01 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#53925] [PATCH 0/2] gnu: clang: Build and link as shared libraries. Resent-From: Greg Hogan Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 10 Feb 2022 19:47:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 53925 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 53925@debbugs.gnu.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.16445224025953 (code B ref -1); Thu, 10 Feb 2022 19:47:01 +0000 Received: (at submit) by debbugs.gnu.org; 10 Feb 2022 19:46:42 +0000 Received: from localhost ([127.0.0.1]:57186 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nIFOs-0001Xw-Ay for submit@debbugs.gnu.org; Thu, 10 Feb 2022 14:46:42 -0500 Received: from lists.gnu.org ([209.51.188.17]:50212) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nIFOq-0001Xl-2l for submit@debbugs.gnu.org; Thu, 10 Feb 2022 14:46:40 -0500 Received: from eggs.gnu.org ([209.51.188.92]:45090) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nIFOp-00070n-QI for guix-patches@gnu.org; Thu, 10 Feb 2022 14:46:39 -0500 Received: from [2607:f8b0:4864:20::1044] (port=42545 helo=mail-pj1-x1044.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nIFOn-00029f-Gn for guix-patches@gnu.org; Thu, 10 Feb 2022 14:46:39 -0500 Received: by mail-pj1-x1044.google.com with SMTP id h7-20020a17090a648700b001b927560c2bso5428739pjj.1 for ; Thu, 10 Feb 2022 11:46:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=greghogan-com.20210112.gappssmtp.com; s=20210112; h=mime-version:from:date:message-id:subject:to; bh=DceYFAd5By6GLsfuI7tzGfPkxEIVo38oLIxi8oHhnBY=; b=hIMja1AJH6FNGosPFZmrwlLuwAe28mdQkuwcz4ObsP/qSVqwzvP2zOozhQTK4b3qRU kOQ+kqDONpg1MwaJT+rjiRUgQ5p1p8A6fcyWt8qPZTXyP4I2/hDIrb93dlF/ob4gmws4 VC/qtqsZepZ9U80ZPHSvfWob4lmEHNI6e7mbbIlaxG7valsd37LZojRuztrHjSXezygz vDUoKT/dLi9SUoXSVIfQhyqxbw6UubxC8CHGtxRxm97q9Ab0iGY63Gi8QD1pc/Lan1yO m6hI+omBRtlCQka31pqK4ufxU+fSAN0hUY+0GvxL4O4QQgFl564Y1/Xq+44TvtEd1xb8 fZ4g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=DceYFAd5By6GLsfuI7tzGfPkxEIVo38oLIxi8oHhnBY=; b=vI5iZsswKTTM87yBkxzdQBCFzSRR40Tid4TY1jui9xhBaBi4ctHZ1kBAKBndAXbyM9 XofweIxci6AeIDQR8h0KpROpSRoFehcmWM4Bi6xB6Biu7u1RXm8qyQ+iPN29pjNZgtAs rxFuzu/CaPyibBtD+xpSjDpSNUIYhII8Ba0DcHIZVFQEfNPRHeSbiB45iBYw7s8wK+Qq /jLnNaMGp83aXJP3luEwH9LE6S2pYe2IWCHxqWwEHgFLCKBSDkWtha4yO9afGmGCxmv3 CJ9H5499cNCRE4TA4UopmYqmaDrTxSd86E1nMt0QfoKVh8EUQpqzovuKWYGpaNDaRayF 8OTw== X-Gm-Message-State: AOAM532pHZ+usqhCUxnHE78tuUkvs10Hko2yC6KGoPQoQh+jD12Op27j Pxw0gO3mmNpCAv4vtbFlXdGLYBvaSC7G8d+8H+9Vz8JE2O4uUC+gQWs= X-Google-Smtp-Source: ABdhPJxt5aoe9OVDolohbNK8GajKqXebrqAGYynfoAfU65q+o4dMXR5gkQ0UjVFqnFkUZeJXgP6KIeQM1XinW9tKES0= X-Received: by 2002:a17:902:d34b:: with SMTP id l11mr8937631plk.137.1644522394189; Thu, 10 Feb 2022 11:46:34 -0800 (PST) MIME-Version: 1.0 From: Greg Hogan Date: Thu, 10 Feb 2022 14:46:23 -0500 Message-ID: Content-Type: multipart/mixed; boundary="00000000000021b9b005d7af3505" X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::1044 (failed) Received-SPF: none client-ip=2607:f8b0:4864:20::1044; envelope-from=code@greghogan.com; helo=mail-pj1-x1044.google.com X-Spam_score_int: -10 X-Spam_score: -1.1 X-Spam_bar: - X-Spam_report: (-1.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, PDS_HP_HELO_NORDNS=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1644522434; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:resent-cc:resent-from:resent-sender: resent-message-id:list-id:list-help:list-unsubscribe:list-subscribe: list-post:dkim-signature; bh=Y7ZnBkBuO5+6lcvhRWxpunfevnEwm8v/nQIxRJ7/Ao0=; b=XFbyvtkfYNxMUe4IaGA2Z5f/loa/7dz9AlP3Q2O3h2csu45FS4hQ8x3JI/XZpzoymXGO3L PQB9IDJlu5CiIOOVIYx7DiEFC69q27TAO4cdJi0wSiojwF541ZhJlYDcDGtFcxxg4kuSDl wS4bSITXpyrh6udgy4UFRwl7xivOLkFlqvgDK0MOafwkYgofgdcC1ueyk1MAE2PkrpohqX iXjQ61b6VF9zbYo2l3zsB4kIIHqKt55p4t+Ckchl8WbEIh2fE706Au5c080+tpC6bfbjMj uKtvA+aS4wnzu/SxcWpxhaoCD+VsWjltCIAbZy3lTpuds0nStSe/phGWl0LuFw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1644522434; a=rsa-sha256; cv=none; b=UHy79wbZgHrpsXoJ7KdE9qPbmb0yalQuN3tTSEAR0dvUBheYbNhBAFTMfYPiIKCXiOlGGI s+4B0/yzj8GlSIrmbwSorVbejCdNRNJ/AOkIBMHbg2LnPLFmqaiRpPp+xk8EO/eiPD62f8 BPL+fYz/Hw/AwuSn8AJNTIHnnTuErQvyrnYQl3klgxJkFjv9blxOqshLmpCKrut4WkldRS eiVDhxUxo/0ZwR3pg/+HRRDneSnsw0LDrnKCzWG7hRJ2jNwSe4WTYpXIvyIbmzckxG2IrU NeUKLXyyHFCRMjvMpFxeRIBHQn4fKpUXObFzerfm5Vq0II7RUB9vS0ookLJZXA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=greghogan-com.20210112.gappssmtp.com header.s=20210112 header.b=hIMja1AJ; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -2.23 Authentication-Results: aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=greghogan-com.20210112.gappssmtp.com header.s=20210112 header.b=hIMja1AJ; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 95ED22DDBE X-Spam-Score: -2.23 X-Migadu-Scanner: scn1.migadu.com X-TUID: ZyIT2nVndeFn --00000000000021b9b005d7af3505 Content-Type: multipart/alternative; boundary="00000000000021b9ae05d7af3503" --00000000000021b9ae05d7af3503 Content-Type: text/plain; charset="UTF-8" clang-tools-extra has been moved to a separate "extra" output due to the size of the statically linked binaries. Unfortunately, this prevents tools from finding the header files stored in the default clang "out" output: --8<---------------cut here---------------start------------->8--- $ guix describe Generation 1 Feb 08 2022 14:30:38 (current) guix 59892f1 repository URL: https://git.savannah.gnu.org/git/guix.git branch: master commit: 59892f105585a98bcaaa4abc99142944cb171acf $ cat main.cpp #include int main() { std::cout << "Hello, World!" << std::endl; return 0; } $ guix shell clang clang:extra $ clang-tidy main.cpp -- 1776 warnings and 1 error generated. Error while processing /efs/devel/hello/src/main.cpp. /gnu/store/i86pbiqnnz0c2313616jdbsbdgp7qvav-profile/include/wchar.h:35:10: error: 'stddef.h' file not found [clang-diagnostic-error] #include ^~~~~~~~~~ Suppressed 1776 warnings (1776 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. Found compiler error(s). --8<---------------cut here---------------end--------------->8--- After applying the attached patch the tool does find the necessary header file (at /gnu/store/*-clang-13.0.1/lib/clang/13.0.1/include/stddef.h): --8<---------------cut here---------------start------------->8--- $ ./pre-inst-env guix shell clang $ clang-tidy main.cpp -- 1971 warnings generated. Suppressed 1971 warnings (1971 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. --8<---------------cut here---------------end--------------->8--- The patch builds clang with dynamic linkage and removes the separate output. The new size of the full complement of dynamically linked libraries and binaries is one-third the size of the original clang with extras excluded. --8<---------------cut here---------------start------------->8--- $ guix size clang store item total self /gnu/store/ylbcqp3yjha97g450g33cz9grsg0ic2w-clang-13.0.1 1247.5 628.0 50.3% ... total: 1247.5 MiB $ ./pre-inst-env guix size clang store item total self /gnu/store/fxf9gyx7c790kbbzhyyamdf27g8yjb9v-clang-13.0.1 842.1 222.6 26.4% ... total: 842.1 MiB --8<---------------cut here---------------end--------------->8--- I successfully built all dependent packages of the affected clang versions (clang@10 through 13) except c-vise-2.4.0, for which I have included a patch, and the following packages currently failing on master: clang-toolchain-8.0.0 dub@1.7.2 gtkd@3.9.0 icedove-wayland@91.5 itk-snap@3.8.0 java-pep-adapter-2.1.23 rdmd@2.077.1 rust-aom-sys-0.3.0 rust-bindgen-0.52.0 rust-bindgen-0.55.1 rust-clang-sys-0.26.4 rust-sequoia-openpgp-0.9.0 scregseg-0.1.1 Greg --00000000000021b9ae05d7af3503 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
clang-tools-extra has been moved to a separate "= extra" output due to the size of the statically linked binaries. Unfor= tunately, this prevents tools from finding the header files stored in the d= efault clang "out" output:

--8<-= --------------cut=C2=A0here---------------s= tart------------->8---
$ guix describe
Gener= ation 1 Feb 08 2022 14:30:38 (current)
=C2=A0 guix 59892f1
=C2=A0 =C2= =A0 repository URL: h= ttps://git.savannah.gnu.org/git/guix.git
=C2=A0 =C2=A0 branch: maste= r
=C2=A0 =C2=A0 commit: 59892f105585a98bcaaa4abc99142944cb171acf

$ cat main.cpp
#include <iostream>= ;

int main() {
=C2=A0 =C2=A0 std::cout << "Hello, Worl= d!" << std::endl;
=C2=A0 =C2=A0 return 0;
}
=
$ guix shell clang clang:extra

= $ clang-tidy main.cpp --
1776 warnings and 1 error generated.=
Error while processing /efs/devel/hello/src/main.cpp.
/gn= u/store/i86pbiqnnz0c2313616jdbsbdgp7qvav-profile/include/wchar.h:35:10: err= or: 'stddef.h' file not found [clang-diagnostic-error]
#include = <stddef.h>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0^~~~~~~~~~
Suppres= sed 1776 warnings (1776 in non-user code).
Use -header-filter=3D.* to di= splay errors from all non-system headers. Use -system-headers to display er= rors from system headers as well.
Found compiler error(s).
--8<---------------cut=C2=A0here-------= --------end--------------->8---

After apply= ing the attached patch the tool does find the necessary header file (at /gn= u/store/*-clang-13.0.1/lib/clang/13.0.1/include/stddef.h):
--8<---------------cut=C2=A0here= ---------------start------------->8---
$ ./pre-inst-env guix she= ll clang

$ clang-tidy main.cpp --
1971 warnings generated.
Suppressed 1971 warnings (1971 in non-user co= de).
Use -header-filter=3D.* to display errors from all non-system heade= rs. Use -system-headers to display errors from system headers as well.
<= /div>
--8<---------------cut=C2=A0he= re---------------end--------------->8---

<= div>The patch builds clang with dynamic linkage and removes the separate ou= tput. The new size of the full complement of dynamically linked libraries a= nd binaries is one-third the size of the original clang with extras exclude= d.

--8<---------------cut=C2=A0here---------------start------------->8---
$ guix size clang
store item =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 total =C2=A0 =C2=A0self
/gnu/store/ylbcqp3yjha97g450g3= 3cz9grsg0ic2w-clang-13.0.1 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A01247.5 =C2=A0 = 628.0 =C2=A050.3%
...
total: 1247.5 MiB

$ ./pre-inst-env guix size clang
store item =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 total =C2=A0 =C2=A0self
/gnu/store/fxf9gyx7c790kbbz= hyyamdf27g8yjb9v-clang-13.0.1 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 842.1 =C2= =A0 222.6 =C2=A026.4%
...
total: 842.1 MiB
--8= <---------------cut=C2=A0here-----------= ----end--------------->8---

I successfully = built all dependent packages of the affected clang versions (clang@10 throu= gh 13) except c-vise-2.4.0, for which I have included a patch, and the foll= owing packages currently failing on master:
=C2=A0 clang-toolchai= n-8.0.0
=C2=A0 dub@1.7.2
=C2=A0 gtkd@3.9.0
=C2=A0 icedove-w= ayland@91.5
=C2=A0 itk-snap@3.8.0
=C2=A0 java-pep-adapter-2.1.23
= =C2=A0 rdmd@2.077.1
=C2=A0 rust-aom-sys-0.3.0
=C2=A0 rust-bindgen-0.5= 2.0
=C2=A0 rust-bindgen-0.55.1
=C2=A0 rust-clang-sys-0.26.4
=C2=A0= rust-sequoia-openpgp-0.9.0
=C2=A0 scregseg-0.1.1

Greg=
--00000000000021b9ae05d7af3503-- --00000000000021b9b005d7af3505 Content-Type: application/x-patch; name="0002-gnu-c-vise-Fix-linkage.patch" Content-Disposition: attachment; filename="0002-gnu-c-vise-Fix-linkage.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kzg1z6cv1 RnJvbSAwOTI1MmRlZjczOTI3NWFiNzVjMjc2Y2NkZmQxNDM0NWFlY2EwMTBlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBHcmVnIEhvZ2FuIDxjb2RlQGdyZWdob2dhbi5jb20+CkRhdGU6 IFdlZCwgOSBGZWIgMjAyMiAyMToxMTowOSArMDAwMApTdWJqZWN0OiBbUEFUQ0ggMi8yXSBnbnU6 IGMtdmlzZTogRml4IGxpbmthZ2UuCgoqIGdudS9wYWNrYWdlcy9kZWJ1Zy5zY20gKGMtdmlzZSlb YXJndW1lbnRzXVsjOnBoYXNlc106CkZpeCBsaW5rYWdlIHRvIGNsYW5nIGFuZCBsbHZtIHNoYXJl ZCBsaWJyYXJpZXMuCi0tLQogZ251L3BhY2thZ2VzL2RlYnVnLnNjbSB8IDUgKysrKysKIDEgZmls ZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9nbnUvcGFja2FnZXMvZGVi dWcuc2NtIGIvZ251L3BhY2thZ2VzL2RlYnVnLnNjbQppbmRleCA5NDMxMmU3YzA1Li4yNGQxN2Q5 NWIwIDEwMDY0NAotLS0gYS9nbnUvcGFja2FnZXMvZGVidWcuc2NtCisrKyBiL2dudS9wYWNrYWdl cy9kZWJ1Zy5zY20KQEAgLTE5OSw2ICsxOTksMTEgQEAgKGRlZmluZS1wdWJsaWMgYy12aXNlCiAg ICAgKGFyZ3VtZW50cwogICAgICBgKCM6cGhhc2VzCiAgICAgICAgKG1vZGlmeS1waGFzZXMgJXN0 YW5kYXJkLXBoYXNlcworICAgICAgICAgKGFkZC1hZnRlciAndW5wYWNrICdmaXgtbGlua2FnZQor ICAgICAgICAgICAobGFtYmRhIF8KKyAgICAgICAgICAgIChzdWJzdGl0dXRlKiAiY2xhbmdfZGVs dGEvQ01ha2VMaXN0cy50eHQiCisgICAgICAgICAgICAgICgoIlxcJFxce0xMVk1fTElOS19MTFZN X0RZTElCXFx9IikgIlRydWUiKQorICAgICAgICAgICAgICAoKCIgIExMVk0iKSAiICBMTFZNU3Vw cG9ydCIpKSkpCiAgICAgICAgICAoYWRkLWJlZm9yZSAnYnVpbGQgJ2hhcmRjb2RlLXBhdGhzCiAg ICAgICAgICAgIChsYW1iZGEgXwogICAgICAgICAgICAgKHN1YnN0aXR1dGUqICJjdmlzZS5weSIK LS0gCjIuMzQuMAoK --00000000000021b9b005d7af3505 Content-Type: application/x-patch; name="0001-gnu-clang-Build-and-link-as-shared-libraries.patch" Content-Disposition: attachment; filename="0001-gnu-clang-Build-and-link-as-shared-libraries.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kzg1z6ak0 RnJvbSBhZDJlNDI5MDVkYmQwYjI3MGYyMWRlNGViOGUyZTI2NDRhYTc5MWEzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBHcmVnIEhvZ2FuIDxjb2RlQGdyZWdob2dhbi5jb20+CkRhdGU6 IFR1ZSwgOCBGZWIgMjAyMiAxODozMjoyOSArMDAwMApTdWJqZWN0OiBbUEFUQ0ggMS8yXSBnbnU6 IGNsYW5nOiBCdWlsZCBhbmQgbGluayBhcyBzaGFyZWQgbGlicmFyaWVzLgoKKiBnbnUvcGFja2Fn ZXMvbGx2bS5zY20gKGNsYW5nKVthcmd1bWVudHNdPCM6cGhhc2VzPjoKUmVtb3ZlIHRoZSBzZXBh cmF0ZSAiZXh0cmEiIG91dHB1dCBhbmQgYnVpbGQgdGhlIG1haW4gcGFja2FnZSBhbmQKY2xhbmct dG9vbHMtZXh0cmFzIHdpdGggc2hhcmVkIGxpYnJhcnkgbGlua2FnZS4KLS0tCiBnbnUvcGFja2Fn ZXMvbGx2bS5zY20gfCA1NCArKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCA1MSBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9nbnUvcGFja2FnZXMvbGx2bS5zY20gYi9nbnUvcGFja2FnZXMvbGx2bS5zY20K aW5kZXggYjZkNTI0MDJhOC4uZWI5NDliZWQxYiAxMDA2NDQKLS0tIGEvZ251L3BhY2thZ2VzL2xs dm0uc2NtCisrKyBiL2dudS9wYWNrYWdlcy9sbHZtLnNjbQpAQCAtMTg4LDcgKzE4OCw2IEBAIChk ZWZpbmUqIChjbGFuZy1mcm9tLWxsdm0gbGx2bSBjbGFuZy1ydW50aW1lIGhhc2gKICAgICA7OyBk b2Vzbid0IHNlZW0gdG8gYmUgYW55IHdheSB0byBkbyB0aGlzIHdpdGggY2xhbmcncyBhdXRvdG9v bHMtYmFzZWQKICAgICA7OyBidWlsZCBzeXN0ZW0uCiAgICAgKGJ1aWxkLXN5c3RlbSBjbWFrZS1i dWlsZC1zeXN0ZW0pCi0gICAgKG91dHB1dHMgKGlmIHRvb2xzLWV4dHJhICcoIm91dCIgImV4dHJh IikgJygib3V0IikpKQogICAgIChuYXRpdmUtaW5wdXRzIChwYWNrYWdlLW5hdGl2ZS1pbnB1dHMg bGx2bSkpCiAgICAgKGlucHV0cwogICAgICBgKCgibGlieG1sMiIgLGxpYnhtbDIpCkBAIC0yMjks NTYgKzIyOCw5IEBAIChkZWZpbmUqIChjbGFuZy1mcm9tLWxsdm0gbGx2bSBjbGFuZy1ydW50aW1l IGhhc2gKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0 cmluZy1kZWxldGUgI1wtIChwYWNrYWdlLXZlcnNpb24gbGx2bSkpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIuc3JjIikKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b29scy9leHRyYSIpCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICN0KSkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgIChhZGQt YWZ0ZXIgJ2luc3RhbGwgJ21vdmUtZXh0cmEtdG9vbHMKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAobGFtYmRhKiAoIzprZXkgb3V0cHV0cyAjOmFsbG93LW90aGVyLWtleXMpCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA7OyBNb3ZlIHRoZSBleHRyYSB0b29scyB0byB0aGUgImV4 dHJhIiBvdXRwdXQuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7OyBUaGVzZSBwcm9n cmFtcyBhbG9uZSB3ZWlnaCBpbiBhdCAyOTYgTWlCLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgOzsgYmVjYXVzZSB0aGV5IHN0YXRpY2FsbHktbGluayBhIHdob2xlIGJ1bmNoIG9mCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7OyBDbGFuZyBsaWJyYXJpZXMuCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAobGV0KiAoKG91dCAgIChhc3NvYy1yZWYgb3V0cHV0cyAi b3V0IikpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGV4dHJhIChhc3Nv Yy1yZWYgb3V0cHV0cyAiZXh0cmEiKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoYmluICAgKHN0cmluZy1hcHBlbmQgb3V0ICIvYmluIikpCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKGJpbiogIChzdHJpbmctYXBwZW5kIGV4dHJhICIvYmluIikp Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxpYiAgIChzdHJpbmctYXBw ZW5kIG91dCAiL2xpYiIpKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRlZmlu ZSAobW92ZSBwcm9ncmFtKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZW5h bWUtZmlsZSAoc3RyaW5nLWFwcGVuZCBiaW4gIi8iIHByb2dyYW0pCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kIGJpbiogIi8iCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHByb2dyYW0pKSkKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWtkaXIt cCBiaW4qKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZm9yLWVhY2ggbW92ZQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJygiY2xhbmctYXBwbHkt cmVwbGFjZW1lbnRzIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAiY2xhbmctY2hhbmdlLW5hbWVzcGFjZSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgImNsYW5nZCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgImNsYW5nLWRvYyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgImNsYW5nLWluY2x1ZGUtZml4ZXIiCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICJjbGFuZy1tb3ZlIgotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAiY2xhbmctcXVlcnkiCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICJjbGFuZy1yZW9yZGVyLWZpZWxkcyIKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNsYW5nLXRpZHkiCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmaW5kLWFsbC1zeW1ib2xzIgot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibW9kdWxhcml6ZSIK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBwLXRyYWNlIikp Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgUmVtb3ZlIE1pQnMgb2YgLmEg ZmlsZXMgY29taW5nIGZyb20KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgJ2Ns YW5nLXRvb2xzLWV4dHJhJy4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZvci1l YWNoIChsYW1iZGEgKGNvbXBvbmVudCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKGRlbGV0ZS1maWxlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZCBsaWIgIi9saWJjbGFuZyIKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBvbmVu dCAiLmEiKSkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnKCJB cHBseVJlcGxhY2VtZW50cyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIkNoYW5nZU5hbWVzcGFjZSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIkRhZW1vbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIkRhZW1vblR3ZWFrcyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIkRvYyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIkluY2x1ZGVGaXhlciIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIkluY2x1ZGVGaXhlclBsdWdpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIk1vdmUiKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGZvci1lYWNoIGRlbGV0ZS1maWxlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoZmluZC1maWxlcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGxpYgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICJeKGxpYmZpbmRBbGxTeW1ib2xzfGxpYmNsYW5nVGlkeSkiKSkKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgOzsgQnVpbGQgYW5kIGxpbmsgdG8gc2hhcmVkIGxpYnJhcmllcy4KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN1YnN0aXR1dGUqICJjbWFrZS9tb2R1bGVz L0FkZENsYW5nLmNtYWtlIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoIkJV SUxEX1NIQVJFRF9MSUJTIikgIlRydWUiKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgI3QpKSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAnKCkpCiAgICAgICAgICAgICAgICAg ICAoYWRkLWFmdGVyICd1bnBhY2sgJ2FkZC1taXNzaW5nLXRyaXBsZXRzCi0tIAoyLjM0LjAKCg== --00000000000021b9b005d7af3505--