Received: (at submit) by debbugs.gnu.org; 7 Nov 2021 13:43:11 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Nov 07 08:43:11 2021 Received: from localhost ([127.0.0.1]:52101 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1mjiRz-0001Z1-1n for submit <at> debbugs.gnu.org; Sun, 07 Nov 2021 08:43:11 -0500 Received: from lists.gnu.org ([209.51.188.17]:36766) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <me@HIDDEN>) id 1mjiRx-0001Yt-75 for submit <at> debbugs.gnu.org; Sun, 07 Nov 2021 08:43:09 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50620) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <me@HIDDEN>) id 1mjiRu-0000Gk-HE for guix-patches@HIDDEN; Sun, 07 Nov 2021 08:43:09 -0500 Received: from tobias.gr ([2a02:c205:2020:6054::1]:47478) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <me@HIDDEN>) id 1mjiRp-0008JG-D3 for guix-patches@HIDDEN; Sun, 07 Nov 2021 08:43:05 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; s=2018; bh=Vs9KzApTY6x9O S7x6FWagzdoE/5nhGdmIzbNhRVV2ZE=; h=in-reply-to:date:subject:cc:to: from:references; d=tobias.gr; b=SQOE03ARid4V0sbkc1MQfl1cLZ3xzTB5EIJdrn HxKEwaOzGsxMa0FEbGlGNx0Le8psbm+T+OAsl3ys3s1p8OufmNy4E8Woeg7LLaDvzLQCyX rKyEXE6Udwz2uC+wvOUCbbVSCUJZxEOfNiYoPUG+AzEHqHZAdLVSjNBFLSTCivfXCVkNek ElO4lZ9VkRiNuCNsOTyzsSEvAMLkEgRdZ5w6Yy1oMmVC/n1ehFsWfTQCKcAXFGWRCd5YlW DWjXrF/1y1FFGXXnmni2HHwXFAkk5UZbYMaJikg87LYKe4/Y+wEhnl5UfudIXtZmbWM5hj ag+gBMJLFZ7uIVh9ZK1gT+ww== Received: by submission.tobias.gr (OpenSMTPD) with ESMTPSA id 6130fc35 (TLSv1.3:AEAD-AES256-GCM-SHA384:256:NO); Sun, 7 Nov 2021 13:42:55 +0000 (UTC) References: <3add15b77522d6e9ebd715a19d966666@HIDDEN> From: Tobias Geerinckx-Rice <me@HIDDEN> To: david larsson <david.larsson@HIDDEN> Subject: Re: [bug#51512] [PATCH]: gnu: Add bash-bcu. Date: Sun, 07 Nov 2021 13:40:30 +0100 In-reply-to: <3add15b77522d6e9ebd715a19d966666@HIDDEN> BIMI-Selector: v=BIMI1; s=default; Message-ID: <87r1bsqdy8.fsf@nckx> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Received-SPF: pass client-ip=2a02:c205:2020:6054::1; envelope-from=me@HIDDEN; helo=tobias.gr X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.6 (-) X-Debbugs-Envelope-To: submit Cc: 51512 <at> debbugs.gnu.org, guix-patches@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.6 (--) --=-=-= Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable David, Thank you! (One fire's out, you'll be glad to hear, so in return here's most=20 of a review. I still reserve the right to tinker with the hunk=20 below =E2=80=94 you'll see which =E2=80=94 later today.) david larsson =E5=86=99=E9=81=93=EF=BC=9A > This patch adds "bash-coding-utils" as the bash-bcu package. [=E2=80=A6] > +(define-public bash-bcu Let's keep =E2=80=98bash-coding-utils=E2=80=99 as the name then, both of th= e=20 variable and the package name string. > + (let ((pyver (version-major+minor (package-version python))) > + (guilever (version-major+minor (package-version=20 > guile-3.0)))) These aren't used until #:builder, which already has a let* where=20 they'll do fine. Binding them this early implies otherwise &=20 indents the whole package. Let's not. > + (package > + (name "bash-bcu") > + (version "v0.2.0") Don't repeat =E2=80=98v=E2=80=99 (or =E2=80=98version-=E2=80=99, =E2=80=98R= ELEASE_=E2=80=99 &c.) here. > + (home-page=20 > "https://gitlab.com/methuselah-0/bash-coding-utils.sh") Not wrong, but I'd move this to the informal =E2=80=98metadata area=E2=80= =99 at=20 the end of the package (synopsis &c.). It doesn't affect the=20 build or even the hash. > + (source > + (origin > + (method git-fetch) > + (uri (git-reference > + (commit=20 > "40d6527a9effb4e18778c37bebaa9f3a58de12d6") > + (url=20 > "https://gitlab.com/methuselah-0/bash-coding-utils.sh.git") + ;; TODO: unbundle submodules/ some day. > + (recursive? #t))) This will create=20 /gnu/store/ivnsnv2yhq9mawxvacmjwxw1z535x9aq-git-checkout. Guix doesn't care, but please use + (file-name (git-file-name name version)) to make it more meaningful for humans. > + (base32 > + "007g6wfybjr0ms32qikb545r11lgm3p98cd7dbzpfyh0grgn9vj1")))) This can be one line. > + (inputs `(("bash-full" ,bash) > + ("bindutils" ,isc-bind "utils") > + ("coreutils" ,coreutils) > + ("ctypes.sh" ,bash-ctypes) > + ("curl" ,curl) > + ("diffutils" ,diffutils) > + ("ed" ,ed) > + ("expect" ,expect) > + ("find" ,findutils) > + ("gawk" ,gawk) > + ("grep" ,grep) > + ("guile" ,guile-3.0) > + ("guile-bash" ,guile-bash) > + ("guile-daemon" ,guile-daemon) > + ("inetutils" ,inetutils) > + ("jq" ,jq) > + ("libxml2-xpath0" ,libxml2-xpath0) > + ("netcat" ,netcat) > + ("nmap" ,nmap) > + ("pcre/bin" ,pcre "bin") > + ("perl" ,perl) > + ("php" ,php) > + ("prips" ,prips) > + ("python" ,python) > + ("python-elementpath" ,python-elementpath) > + ("python-lxml" ,python-lxml) > + ("python-netaddr" ,python-netaddr) > + ("python-yq" ,python-yq) > + ("sed" ,sed) > + ("socat" ,socat) > + ("util-linux" ,util-linux) > + ("which" ,which) > + ("xdg-utils" ,xdg-utils) > + ("yad" ,yad))) So the de-facto ordering of common fields is something like: name version source build-system outputs ; a bit inconsistent, yes, and sometimes put after *inputs arguments ; to the build-system native-inputs, inputs, propagated-inputs metadata: synopsis, description, home-page, properties, license=E2=80=A6 There's some minor variation in where to put inputs, but=20 (build-system trivial-build-system) definitely belongs here, above=20 arguments, no matter what. > + (arguments > + `(#:modules ((guix build utils)) > + #:builder > + (begin > + (use-modules (guix build utils)) > + (let* ((bashfull (assoc-ref %build-inputs=20 > "bash-full")) There's nothing with which to confuse it so just "bash" for both=20 the variable and label. > + ;; Some guile libraries such as gnu bash will=20 > need > + ;; to be added to GUILE_LOAD_PATH > + (guile-bash (assoc-ref %build-inputs=20 > "guile-bash")) > + (g-bash-lib (string-append guile-bash > + "/share/guile/site/"=20 > ,guilever)) So drop the top-level =E2=80=98let=E2=80=99 and just use ,(version-major+mi= nor=20 (package-version guile-3.0) directly=E2=80=A6 > + ;; Some python libraries needs added to=20 > PYTHONPATH =E2=80=A6and add + (python-version ,(version-major+minor (package-version python))) here for use ad of =E2=80=98pyver=E2=80=99 (Guile isn't C and hard drives n= ot 5=20 MB). > + (p-elementpath-lib (string-append > + (assoc-ref %build-inputs=20 > "python-elementpath") > + "/lib/python" ,pyver=20 > "/site-packages")) > + (p-lxml-lib (string-append > + (assoc-ref %build-inputs=20 > "python-lxml") > + "/lib/python" ,pyver=20 > "/site-packages")) > + (p-netaddr-lib (string-append > + (assoc-ref %build-inputs=20 > "python-netaddr") > + "/lib/python" ,pyver=20 > "/site-packages")) > + (p-lib (string-append > + (assoc-ref %build-inputs "python") > + "/lib/python" ,pyver=20 > "/site-packages")) > + (pylibsline (string-append > + p-elementpath-lib ":" p-lxml-lib > + ":" p-netaddr-lib ":" p-lib)) > + (out (assoc-ref %outputs "out")) > + (bin (string-append out "/bin")) > + ;; Everything but bcu.sh itself is only=20 > accessed > + ;; internally by bcu so we put it in libexec. > + (libexec (string-append out "/libexec/bcu"))) > + (mkdir-p libexec) > + (copy-recursively (assoc-ref %build-inputs=20 > "source") libexec) > + ;; Create a bcu.sh wrapping script manually that=20 > ensures > + ;; we prepend necessary PATHs. > + (mkdir-p bin) > + (let* ((binfile (string-append bin "/bcu.sh")) > + (bcu-port (open-file binfile "a")) > + (pathline (string-append > + bashfull "/bin" > + ":" (assoc-ref %build-inputs=20 > "bindutils") "/bin" > + ":" (assoc-ref %build-inputs=20 > "coreutils") "/bin" > + ":" (assoc-ref %build-inputs=20 > "ctypes.sh") "/bin" > + ":" (assoc-ref %build-inputs=20 > "curl") "/bin" > + ":" (assoc-ref %build-inputs=20 > "diffutils") "/bin" > + ":" (assoc-ref %build-inputs=20 > "ed") "/bin" > + ":" (assoc-ref %build-inputs=20 > "expect") "/bin" > + ":" (assoc-ref %build-inputs=20 > "find") "/bin" > + ":" (assoc-ref %build-inputs=20 > "gawk") "/bin" > + ":" (assoc-ref %build-inputs=20 > "grep") "/bin" > + ":" (assoc-ref %build-inputs=20 > "guile") "/bin" > + ":" (assoc-ref %build-inputs=20 > "inetutils") "/bin" > + ":" (assoc-ref %build-inputs=20 > "jq") "/bin" > + ":" (assoc-ref %build-inputs=20 > "libxml2-xpath0") "/bin" > + ":" (assoc-ref %build-inputs=20 > "netcat") "/bin" > + ":" (assoc-ref %build-inputs=20 > "nmap") "/bin" > + ":" (assoc-ref %build-inputs=20 > "pcre/bin") "/bin" > + ":" (assoc-ref %build-inputs=20 > "perl") "/bin" > + ":" (assoc-ref %build-inputs=20 > "php") "/bin" > + ":" (assoc-ref %build-inputs=20 > "prips") "/bin" > + ":" (assoc-ref %build-inputs=20 > "python") "/bin" > + ":" (assoc-ref %build-inputs=20 > "python-yq") "/bin" > + ":" (assoc-ref %build-inputs=20 > "sed") "/bin" > + ":" (assoc-ref %build-inputs=20 > "socat") "/bin" > + ":" (assoc-ref %build-inputs=20 > "util-linux") "/bin" > + ":" (assoc-ref %build-inputs=20 > "which") "/bin" > + ":" (assoc-ref %build-inputs=20 > "xdg-utils") "/bin" > + ":" (assoc-ref %build-inputs=20 > "yad") "/bin"))) > + (display (string-append "#!" bashfull=20 > "/bin/bash\n") bcu-port) > + (display > + (string-append > + "[[ \"$_BCU_SH_LOADED\" =3D=3D YES ]] || {=20 > \nexport PATH=3D\"" > + pathline "${PATH:+:}${PATH}\"\nexport=20 > PYTHONPATH=3D\"" > + pylibsline=20 > "${PYTHONPATH:+:}${PYTHONPATH}\"\nexport GUILE_LOAD_PATH=3D\"" > + g-bash-lib=20 > "${GUILE_LOAD_PATH:+:}${GUILE_LOAD_PATH}\"\n" > + ;; XDG_DATA_DIRS needs set for yad to load=20 > icons properly > + "[[ -e /run/current-system/profile/share ]] &&=20 > export XDG_DATA_DIRS=3D" > + "/run/current-system/profile/share${XDG_DATA_DIRS:+:}${= XDG_DATA_DIRS}\n" > + ;; Ensure that the setuid version of ping is=20 > used > + "[[ -e /run/setuid-programs/ping ]] && " > + "ping(){ /run/setuid-programs/ping \"$@\" ; }=20 > && export -f ping\n" > + "[[ -e /run/setuid-programs/ping6 ]] && " > + "ping6(){ /run/setuid-programs/ping6 \"$@\" ;=20 > } && export -f ping6\n}\n") > + bcu-port) > + (display (string-append "source " libexec=20 > "/bcu.sh\n") bcu-port) > + (close-port bcu-port) [So this is the part I was waiting to finish :-) I still don't=20 have time now.] I really want to rewrite this whole block, but for now I just have=20 1 question: why not simply append /run/setuid-programs to the=20 start of $PATH here? What's the difference, if any, and do we=20 care? > + (chmod binfile #o555) s/binfile/wrapper/ or somesuch. > + (setenv "PATH" (string-append pathline ":"=20 > (getenv "PATH")))) s/pathline/path/ > + (for-each (lambda (file) > + (substitute* file substitute* supports a list of (found-)files as the first argument=20 directly. No need to call it multiple times. > + (find-files out ".*\\.sh")) .* is noise: "\\.sh$" > + (find-files out=20 > ".*\\.(sh|scm|awk|php|py)$")) =E2=80=A6same here. Wonderful that you took the trouble to run tests! Let's visually separate the =E2=80=98test phase=E2=80=99: + + ;;; Now that everything's installed, prepare & run=20 the tests. + ;; Set up PATH for tests. > + (setenv "PATH" (string-append bin ":" (getenv=20 > "PATH"))) > + ;; Some tests need a HOME-directory > + (setenv "HOME" "/tmp") > + ;; Disable network tests, and all tests for=20 > setopts which > + ;; don't work inside the Guix build environment > + (call-with-output-file (string-append libexec=20 > "/disabled_tests.txt") > + (lambda (port) > + (display (string-append > + "ip_of_test_1\nsetopts_test_1\nsetopts_test_2= \nsetopts_test_3" > + "\nsetopts_test_4\nsetopts_test_5\nsetopts_te= st_6\n") > + port))) + (with-output-to-file (string-append libexec=20 "/disabled_tests.txt") + (lambda _ + (format #t "~{~a~%~}" + (list "ip_of_test_1" + "setopts_test_1" + "setopts_test_2" + "setopts_test_3" + "setopts_test_4" + "setopts_test_5" + "setopts_test_6")))) > + (synopsis "Bash functions and tools for software=20 > prototyping in Bash") I dropped the leading =E2=80=98Bash =E2=80=99 here. > + (description > + (string-append Just use (description "This package contains Bash functions and wrappers that can be useful when writing quick implementations of new programs. It helps you work with JSON, XML, and parallelization, and installs some commonly used helper programs used in Bash scripting. Run @command{bcu__docs} for the full HTML documentation.") But wrapped at 80 characters=E2=80=94I used less to avoid turning it into=20 an unreadable mess in some MUAs. > + "Bash-bcu contains bash functions and wrappers that can=20 > be useful when" > + " writing quick implementations of new programs. It=20 > helps you work with" > + " JSON, XML, parallelization and installs some commonly=20 > used \"helper\"" Texinfo double quotes are ``thus'' but can just be dropped here. > + @command{TAB} > + @command{ --help} Even the (comfortable) subset of Texinfo that Guix supports has=20 more keywords than =E2=80=98command=E2=80=99! ;-) @key, @code, =E2=80=A6 > + Just run @command{. bcu.sh}, type I left this out because we don't usually include =E2=80=98getting started= =E2=80=99=20 instructions in package descriptions. There are exceptions, and=20 this package not including info (or man) pages is unfortunate, so=20 I kept the bcu__docs hint. Acceptable? > + (license license:gpl3)))) Why not lgpl3+? I can't find the gpl3-only file(s). Kind regards, T G-R --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iIMEARYKACsWIQT12iAyS4c9C3o4dnINsP+IT1VteQUCYYfX4A0cbWVAdG9iaWFz LmdyAAoJEA2w/4hPVW15BH4BAI66CGDpcXE1T+t0wJDld2La2F1abNGwIkDJdDhH bbCDAQDZ9wgsFR9sak430GhQwr87Ca6aZMH6bOgcFNlABCpEAg== =H+/K -----END PGP SIGNATURE----- --=-=-=--
guix-patches@HIDDEN
:bug#51512
; Package guix-patches
.
Full text available.Received: (at 51512) by debbugs.gnu.org; 7 Nov 2021 13:43:03 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Nov 07 08:43:03 2021 Received: from localhost ([127.0.0.1]:52093 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1mjiRq-0001Xs-1y for submit <at> debbugs.gnu.org; Sun, 07 Nov 2021 08:43:03 -0500 Received: from tobias.gr ([80.241.217.52]:41858) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <me@HIDDEN>) id 1mjiRm-0001Xc-Py for 51512 <at> debbugs.gnu.org; Sun, 07 Nov 2021 08:43:00 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; s=2018; bh=Vs9KzApTY6x9O S7x6FWagzdoE/5nhGdmIzbNhRVV2ZE=; h=in-reply-to:date:subject:cc:to: from:references; d=tobias.gr; b=SQOE03ARid4V0sbkc1MQfl1cLZ3xzTB5EIJdrn HxKEwaOzGsxMa0FEbGlGNx0Le8psbm+T+OAsl3ys3s1p8OufmNy4E8Woeg7LLaDvzLQCyX rKyEXE6Udwz2uC+wvOUCbbVSCUJZxEOfNiYoPUG+AzEHqHZAdLVSjNBFLSTCivfXCVkNek ElO4lZ9VkRiNuCNsOTyzsSEvAMLkEgRdZ5w6Yy1oMmVC/n1ehFsWfTQCKcAXFGWRCd5YlW DWjXrF/1y1FFGXXnmni2HHwXFAkk5UZbYMaJikg87LYKe4/Y+wEhnl5UfudIXtZmbWM5hj ag+gBMJLFZ7uIVh9ZK1gT+ww== Received: by submission.tobias.gr (OpenSMTPD) with ESMTPSA id 6130fc35 (TLSv1.3:AEAD-AES256-GCM-SHA384:256:NO); Sun, 7 Nov 2021 13:42:55 +0000 (UTC) References: <3add15b77522d6e9ebd715a19d966666@HIDDEN> From: Tobias Geerinckx-Rice <me@HIDDEN> To: david larsson <david.larsson@HIDDEN> Subject: Re: [bug#51512] [PATCH]: gnu: Add bash-bcu. Date: Sun, 07 Nov 2021 13:40:30 +0100 In-reply-to: <3add15b77522d6e9ebd715a19d966666@HIDDEN> BIMI-Selector: v=BIMI1; s=default; Message-ID: <87r1bsqdy8.fsf@nckx> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 51512 Cc: 51512 <at> debbugs.gnu.org, guix-patches@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable David, Thank you! (One fire's out, you'll be glad to hear, so in return here's most=20 of a review. I still reserve the right to tinker with the hunk=20 below =E2=80=94 you'll see which =E2=80=94 later today.) david larsson =E5=86=99=E9=81=93=EF=BC=9A > This patch adds "bash-coding-utils" as the bash-bcu package. [=E2=80=A6] > +(define-public bash-bcu Let's keep =E2=80=98bash-coding-utils=E2=80=99 as the name then, both of th= e=20 variable and the package name string. > + (let ((pyver (version-major+minor (package-version python))) > + (guilever (version-major+minor (package-version=20 > guile-3.0)))) These aren't used until #:builder, which already has a let* where=20 they'll do fine. Binding them this early implies otherwise &=20 indents the whole package. Let's not. > + (package > + (name "bash-bcu") > + (version "v0.2.0") Don't repeat =E2=80=98v=E2=80=99 (or =E2=80=98version-=E2=80=99, =E2=80=98R= ELEASE_=E2=80=99 &c.) here. > + (home-page=20 > "https://gitlab.com/methuselah-0/bash-coding-utils.sh") Not wrong, but I'd move this to the informal =E2=80=98metadata area=E2=80= =99 at=20 the end of the package (synopsis &c.). It doesn't affect the=20 build or even the hash. > + (source > + (origin > + (method git-fetch) > + (uri (git-reference > + (commit=20 > "40d6527a9effb4e18778c37bebaa9f3a58de12d6") > + (url=20 > "https://gitlab.com/methuselah-0/bash-coding-utils.sh.git") + ;; TODO: unbundle submodules/ some day. > + (recursive? #t))) This will create=20 /gnu/store/ivnsnv2yhq9mawxvacmjwxw1z535x9aq-git-checkout. Guix doesn't care, but please use + (file-name (git-file-name name version)) to make it more meaningful for humans. > + (base32 > + "007g6wfybjr0ms32qikb545r11lgm3p98cd7dbzpfyh0grgn9vj1")))) This can be one line. > + (inputs `(("bash-full" ,bash) > + ("bindutils" ,isc-bind "utils") > + ("coreutils" ,coreutils) > + ("ctypes.sh" ,bash-ctypes) > + ("curl" ,curl) > + ("diffutils" ,diffutils) > + ("ed" ,ed) > + ("expect" ,expect) > + ("find" ,findutils) > + ("gawk" ,gawk) > + ("grep" ,grep) > + ("guile" ,guile-3.0) > + ("guile-bash" ,guile-bash) > + ("guile-daemon" ,guile-daemon) > + ("inetutils" ,inetutils) > + ("jq" ,jq) > + ("libxml2-xpath0" ,libxml2-xpath0) > + ("netcat" ,netcat) > + ("nmap" ,nmap) > + ("pcre/bin" ,pcre "bin") > + ("perl" ,perl) > + ("php" ,php) > + ("prips" ,prips) > + ("python" ,python) > + ("python-elementpath" ,python-elementpath) > + ("python-lxml" ,python-lxml) > + ("python-netaddr" ,python-netaddr) > + ("python-yq" ,python-yq) > + ("sed" ,sed) > + ("socat" ,socat) > + ("util-linux" ,util-linux) > + ("which" ,which) > + ("xdg-utils" ,xdg-utils) > + ("yad" ,yad))) So the de-facto ordering of common fields is something like: name version source build-system outputs ; a bit inconsistent, yes, and sometimes put after *inputs arguments ; to the build-system native-inputs, inputs, propagated-inputs metadata: synopsis, description, home-page, properties, license=E2=80=A6 There's some minor variation in where to put inputs, but=20 (build-system trivial-build-system) definitely belongs here, above=20 arguments, no matter what. > + (arguments > + `(#:modules ((guix build utils)) > + #:builder > + (begin > + (use-modules (guix build utils)) > + (let* ((bashfull (assoc-ref %build-inputs=20 > "bash-full")) There's nothing with which to confuse it so just "bash" for both=20 the variable and label. > + ;; Some guile libraries such as gnu bash will=20 > need > + ;; to be added to GUILE_LOAD_PATH > + (guile-bash (assoc-ref %build-inputs=20 > "guile-bash")) > + (g-bash-lib (string-append guile-bash > + "/share/guile/site/"=20 > ,guilever)) So drop the top-level =E2=80=98let=E2=80=99 and just use ,(version-major+mi= nor=20 (package-version guile-3.0) directly=E2=80=A6 > + ;; Some python libraries needs added to=20 > PYTHONPATH =E2=80=A6and add + (python-version ,(version-major+minor (package-version python))) here for use ad of =E2=80=98pyver=E2=80=99 (Guile isn't C and hard drives n= ot 5=20 MB). > + (p-elementpath-lib (string-append > + (assoc-ref %build-inputs=20 > "python-elementpath") > + "/lib/python" ,pyver=20 > "/site-packages")) > + (p-lxml-lib (string-append > + (assoc-ref %build-inputs=20 > "python-lxml") > + "/lib/python" ,pyver=20 > "/site-packages")) > + (p-netaddr-lib (string-append > + (assoc-ref %build-inputs=20 > "python-netaddr") > + "/lib/python" ,pyver=20 > "/site-packages")) > + (p-lib (string-append > + (assoc-ref %build-inputs "python") > + "/lib/python" ,pyver=20 > "/site-packages")) > + (pylibsline (string-append > + p-elementpath-lib ":" p-lxml-lib > + ":" p-netaddr-lib ":" p-lib)) > + (out (assoc-ref %outputs "out")) > + (bin (string-append out "/bin")) > + ;; Everything but bcu.sh itself is only=20 > accessed > + ;; internally by bcu so we put it in libexec. > + (libexec (string-append out "/libexec/bcu"))) > + (mkdir-p libexec) > + (copy-recursively (assoc-ref %build-inputs=20 > "source") libexec) > + ;; Create a bcu.sh wrapping script manually that=20 > ensures > + ;; we prepend necessary PATHs. > + (mkdir-p bin) > + (let* ((binfile (string-append bin "/bcu.sh")) > + (bcu-port (open-file binfile "a")) > + (pathline (string-append > + bashfull "/bin" > + ":" (assoc-ref %build-inputs=20 > "bindutils") "/bin" > + ":" (assoc-ref %build-inputs=20 > "coreutils") "/bin" > + ":" (assoc-ref %build-inputs=20 > "ctypes.sh") "/bin" > + ":" (assoc-ref %build-inputs=20 > "curl") "/bin" > + ":" (assoc-ref %build-inputs=20 > "diffutils") "/bin" > + ":" (assoc-ref %build-inputs=20 > "ed") "/bin" > + ":" (assoc-ref %build-inputs=20 > "expect") "/bin" > + ":" (assoc-ref %build-inputs=20 > "find") "/bin" > + ":" (assoc-ref %build-inputs=20 > "gawk") "/bin" > + ":" (assoc-ref %build-inputs=20 > "grep") "/bin" > + ":" (assoc-ref %build-inputs=20 > "guile") "/bin" > + ":" (assoc-ref %build-inputs=20 > "inetutils") "/bin" > + ":" (assoc-ref %build-inputs=20 > "jq") "/bin" > + ":" (assoc-ref %build-inputs=20 > "libxml2-xpath0") "/bin" > + ":" (assoc-ref %build-inputs=20 > "netcat") "/bin" > + ":" (assoc-ref %build-inputs=20 > "nmap") "/bin" > + ":" (assoc-ref %build-inputs=20 > "pcre/bin") "/bin" > + ":" (assoc-ref %build-inputs=20 > "perl") "/bin" > + ":" (assoc-ref %build-inputs=20 > "php") "/bin" > + ":" (assoc-ref %build-inputs=20 > "prips") "/bin" > + ":" (assoc-ref %build-inputs=20 > "python") "/bin" > + ":" (assoc-ref %build-inputs=20 > "python-yq") "/bin" > + ":" (assoc-ref %build-inputs=20 > "sed") "/bin" > + ":" (assoc-ref %build-inputs=20 > "socat") "/bin" > + ":" (assoc-ref %build-inputs=20 > "util-linux") "/bin" > + ":" (assoc-ref %build-inputs=20 > "which") "/bin" > + ":" (assoc-ref %build-inputs=20 > "xdg-utils") "/bin" > + ":" (assoc-ref %build-inputs=20 > "yad") "/bin"))) > + (display (string-append "#!" bashfull=20 > "/bin/bash\n") bcu-port) > + (display > + (string-append > + "[[ \"$_BCU_SH_LOADED\" =3D=3D YES ]] || {=20 > \nexport PATH=3D\"" > + pathline "${PATH:+:}${PATH}\"\nexport=20 > PYTHONPATH=3D\"" > + pylibsline=20 > "${PYTHONPATH:+:}${PYTHONPATH}\"\nexport GUILE_LOAD_PATH=3D\"" > + g-bash-lib=20 > "${GUILE_LOAD_PATH:+:}${GUILE_LOAD_PATH}\"\n" > + ;; XDG_DATA_DIRS needs set for yad to load=20 > icons properly > + "[[ -e /run/current-system/profile/share ]] &&=20 > export XDG_DATA_DIRS=3D" > + "/run/current-system/profile/share${XDG_DATA_DIRS:+:}${= XDG_DATA_DIRS}\n" > + ;; Ensure that the setuid version of ping is=20 > used > + "[[ -e /run/setuid-programs/ping ]] && " > + "ping(){ /run/setuid-programs/ping \"$@\" ; }=20 > && export -f ping\n" > + "[[ -e /run/setuid-programs/ping6 ]] && " > + "ping6(){ /run/setuid-programs/ping6 \"$@\" ;=20 > } && export -f ping6\n}\n") > + bcu-port) > + (display (string-append "source " libexec=20 > "/bcu.sh\n") bcu-port) > + (close-port bcu-port) [So this is the part I was waiting to finish :-) I still don't=20 have time now.] I really want to rewrite this whole block, but for now I just have=20 1 question: why not simply append /run/setuid-programs to the=20 start of $PATH here? What's the difference, if any, and do we=20 care? > + (chmod binfile #o555) s/binfile/wrapper/ or somesuch. > + (setenv "PATH" (string-append pathline ":"=20 > (getenv "PATH")))) s/pathline/path/ > + (for-each (lambda (file) > + (substitute* file substitute* supports a list of (found-)files as the first argument=20 directly. No need to call it multiple times. > + (find-files out ".*\\.sh")) .* is noise: "\\.sh$" > + (find-files out=20 > ".*\\.(sh|scm|awk|php|py)$")) =E2=80=A6same here. Wonderful that you took the trouble to run tests! Let's visually separate the =E2=80=98test phase=E2=80=99: + + ;;; Now that everything's installed, prepare & run=20 the tests. + ;; Set up PATH for tests. > + (setenv "PATH" (string-append bin ":" (getenv=20 > "PATH"))) > + ;; Some tests need a HOME-directory > + (setenv "HOME" "/tmp") > + ;; Disable network tests, and all tests for=20 > setopts which > + ;; don't work inside the Guix build environment > + (call-with-output-file (string-append libexec=20 > "/disabled_tests.txt") > + (lambda (port) > + (display (string-append > + "ip_of_test_1\nsetopts_test_1\nsetopts_test_2= \nsetopts_test_3" > + "\nsetopts_test_4\nsetopts_test_5\nsetopts_te= st_6\n") > + port))) + (with-output-to-file (string-append libexec=20 "/disabled_tests.txt") + (lambda _ + (format #t "~{~a~%~}" + (list "ip_of_test_1" + "setopts_test_1" + "setopts_test_2" + "setopts_test_3" + "setopts_test_4" + "setopts_test_5" + "setopts_test_6")))) > + (synopsis "Bash functions and tools for software=20 > prototyping in Bash") I dropped the leading =E2=80=98Bash =E2=80=99 here. > + (description > + (string-append Just use (description "This package contains Bash functions and wrappers that can be useful when writing quick implementations of new programs. It helps you work with JSON, XML, and parallelization, and installs some commonly used helper programs used in Bash scripting. Run @command{bcu__docs} for the full HTML documentation.") But wrapped at 80 characters=E2=80=94I used less to avoid turning it into=20 an unreadable mess in some MUAs. > + "Bash-bcu contains bash functions and wrappers that can=20 > be useful when" > + " writing quick implementations of new programs. It=20 > helps you work with" > + " JSON, XML, parallelization and installs some commonly=20 > used \"helper\"" Texinfo double quotes are ``thus'' but can just be dropped here. > + @command{TAB} > + @command{ --help} Even the (comfortable) subset of Texinfo that Guix supports has=20 more keywords than =E2=80=98command=E2=80=99! ;-) @key, @code, =E2=80=A6 > + Just run @command{. bcu.sh}, type I left this out because we don't usually include =E2=80=98getting started= =E2=80=99=20 instructions in package descriptions. There are exceptions, and=20 this package not including info (or man) pages is unfortunate, so=20 I kept the bcu__docs hint. Acceptable? > + (license license:gpl3)))) Why not lgpl3+? I can't find the gpl3-only file(s). Kind regards, T G-R --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iIMEARYKACsWIQT12iAyS4c9C3o4dnINsP+IT1VteQUCYYfX4A0cbWVAdG9iaWFz LmdyAAoJEA2w/4hPVW15BH4BAI66CGDpcXE1T+t0wJDld2La2F1abNGwIkDJdDhH bbCDAQDZ9wgsFR9sak430GhQwr87Ca6aZMH6bOgcFNlABCpEAg== =H+/K -----END PGP SIGNATURE----- --=-=-=--
guix-patches@HIDDEN
:bug#51512
; Package guix-patches
.
Full text available.Received: (at submit) by debbugs.gnu.org; 30 Oct 2021 14:59:57 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Oct 30 10:59:57 2021 Received: from localhost ([127.0.0.1]:58147 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1mgpps-0004Ch-Go for submit <at> debbugs.gnu.org; Sat, 30 Oct 2021 10:59:57 -0400 Received: from lists.gnu.org ([209.51.188.17]:38720) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <david.larsson@HIDDEN>) id 1mgppk-0004CR-KR for submit <at> debbugs.gnu.org; Sat, 30 Oct 2021 10:59:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37196) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <david.larsson@HIDDEN>) id 1mgppk-0002RL-BO for guix-patches@HIDDEN; Sat, 30 Oct 2021 10:59:48 -0400 Received: from server0.selfhosted.xyz ([217.64.149.7]:48460) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <david.larsson@HIDDEN>) id 1mgppg-0000b3-2Y for guix-patches@HIDDEN; Sat, 30 Oct 2021 10:59:47 -0400 Received: from server0.selfhosted.xyz (localhost [127.0.0.1]) by server0.selfhosted.xyz (Postfix) with ESMTP id 5EB72270C008 for <guix-patches@HIDDEN>; Sat, 30 Oct 2021 16:59:33 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=selfhosted.xyz; s=dkim; t=1635605979; bh=Cx/twYtDLpeeT1vFOEudWkc054Cts8zYsMtq4bW8DMo=; h=Date:From:To:Subject; b=gvATYh5bJnZJt0VM5CixY6yG9mMQxBvFynUiUmxLe8/NkCrv/OKtRmwXnNS0GqarO BsztYkRVQvqDLhPJmtOPdZH3MkwzytVBrAldfdN7wRwh0FEK7Ok9/Aop2smiz5qUOx 1uXY5IY9RmBchhbBHholNkRf46REfEazSETQA9E9QpuU0upk32zrVMQF7iZrLatoY4 iYAj7Ji96FrT4ayOWhm5JBWk3b9+VXGd0P1BPSRVhaI9BOFviOfbYHeYgezxfceBo8 75O8NsCAGo/7u221LuiZRpHELRN2voSP+9dMAD8O+Mp0pxcY6m/UtzVKnFUD/h0CSP 0X/D2HIhZmdpw== X-Fuglu-Suspect: 84f1f5cc27fa4f34a40b53638ee78fe0 X-Fuglu-Spamstatus: NO Received: from webmail.selfhosted.xyz (office.selfhosted.xyz [192.168.1.4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: mail@HIDDEN) by server0.selfhosted.xyz (Postfix) with ESMTPSA for <guix-patches@HIDDEN>; Sat, 30 Oct 2021 16:59:33 +0200 (CEST) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=_fda8226204e5fbea458293b0cfb9790a" Date: Sat, 30 Oct 2021 16:59:33 +0200 From: david larsson <david.larsson@HIDDEN> To: guix-patches@HIDDEN Subject: [PATCH]: gnu: Add bash-bcu. Message-ID: <3add15b77522d6e9ebd715a19d966666@HIDDEN> X-Sender: david.larsson@HIDDEN Received-SPF: pass client-ip=217.64.149.7; envelope-from=david.larsson@HIDDEN; helo=server0.selfhosted.xyz X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FROM_SUSPICIOUS_NTLD=0.499, FROM_SUSPICIOUS_NTLD_FP=1.999, PDS_OTHER_BAD_TLD=0.076, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.8 (/) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: 0.1 (/) --=_fda8226204e5fbea458293b0cfb9790a Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed Hi, This patch adds "bash-coding-utils" as the bash-bcu package. Best regards, David --=_fda8226204e5fbea458293b0cfb9790a Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=0001-gnu-Add-bash-bcu.patch Content-Disposition: attachment; filename=0001-gnu-Add-bash-bcu.patch; size=12050 RnJvbSBiNzllNjE3MzI2M2FjYjhkNzc5NDZhMDhlMDNkNWIwMWE5ZjVmODZjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEYXZpZCBMYXJzc29uIDxkYXZpZC5sYXJzc29uQHNlbGZob3N0 ZWQueHl6PgpEYXRlOiBGcmksIDI5IE9jdCAyMDIxIDEzOjU4OjQxICswMjAwClN1YmplY3Q6IFtQ QVRDSF0gZ251OiBBZGQgYmFzaC1iY3UuCgoqIGdudS9wYWNrYWdlcy9iYXNoLnNjbSAoYmFzaC1i Y3UpOiBOZXcgdmFyaWFibGUuCi0tLQogZ251L3BhY2thZ2VzL2Jhc2guc2NtIHwgMTkzICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDE5 MyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZ251L3BhY2thZ2VzL2Jhc2guc2NtIGIvZ251 L3BhY2thZ2VzL2Jhc2guc2NtCmluZGV4IGVkMjkzMWZkOTcuLmY4OWRjZjUzNDEgMTAwNjQ0Ci0t LSBhL2dudS9wYWNrYWdlcy9iYXNoLnNjbQorKysgYi9nbnUvcGFja2FnZXMvYmFzaC5zY20KQEAg LTI1LDE3ICsyNSwzNCBAQAogKGRlZmluZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBiYXNoKQogICAj OnVzZS1tb2R1bGUgKChndWl4IGxpY2Vuc2VzKSAjOnByZWZpeCBsaWNlbnNlOikKICAgIzp1c2Ut bW9kdWxlIChnbnUgcGFja2FnZXMpCisgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGFkbWlu KQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBiYXNlKQogICAjOnVzZS1tb2R1bGUgKGdu dSBwYWNrYWdlcyBib290c3RyYXApCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGNvbXBy ZXNzaW9uKQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBjdXJsKQorICAjOnVzZS1tb2R1 bGUgKGdudSBwYWNrYWdlcyBkbnMpCisgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGVkKQog ICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBlbGYpCisgICM6dXNlLW1vZHVsZSAoZ251IHBh Y2thZ2VzIGZyZWVkZXNrdG9wKQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBnYXdrKQor ICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBndGspCiAgICM6dXNlLW1vZHVsZSAoZ251IHBh Y2thZ2VzIG5jdXJzZXMpCisgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIG5ldHdvcmtpbmcp CiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHJlYWRsaW5lKQogICAjOnVzZS1tb2R1bGUg KGdudSBwYWNrYWdlcyBiaXNvbikKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgbGludXgp CiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGxpYmZmaSkKKyAgIzp1c2UtbW9kdWxlIChn bnUgcGFja2FnZXMgcGNyZSkKKyAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgcGVybCkKKyAg Izp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgcGhwKQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNr YWdlcyBwa2ctY29uZmlnKQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBweXRob24pCisg ICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHB5dGhvbi14eXopCiAgICM6dXNlLW1vZHVsZSAo Z251IHBhY2thZ2VzIGd1aWxlKQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBndWlsZS14 eXopCisgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHRjbCkKKyAgIzp1c2UtbW9kdWxlIChn bnUgcGFja2FnZXMgd2ViKQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyB4bWwpCiAgICM6 dXNlLW1vZHVsZSAoZ3VpeCBwYWNrYWdlcykKICAgIzp1c2UtbW9kdWxlIChndWl4IGRvd25sb2Fk KQogICAjOnVzZS1tb2R1bGUgKGd1aXggZ2l0LWRvd25sb2FkKQpAQCAtNDQ4LDMgKzQ2NSwxNzkg QEAgaW4gQmFzaCwgYnV0IHlvdSBjYW4gdXNlIGl0IHRvIHRlc3QgYW55IFVOSVggcHJvZ3JhbS4i KQogZnVuY3Rpb24gaW50ZXJmYWNlIChGRkkpIGRpcmVjdGx5IGluIHlvdXIgc2hlbGwuICBJbiBv dGhlciB3b3JkcywgaXQgYWxsb3dzCiB5b3UgdG8gY2FsbCByb3V0aW5lcyBpbiBzaGFyZWQgbGli cmFyaWVzIGZyb20gd2l0aGluIEJhc2guIikKICAgICAobGljZW5zZSBsaWNlbnNlOmV4cGF0KSkp CisKKyhkZWZpbmUtcHVibGljIGJhc2gtYmN1CisgIChsZXQgKChweXZlciAodmVyc2lvbi1tYWpv cittaW5vciAocGFja2FnZS12ZXJzaW9uIHB5dGhvbikpKQorICAgICAgICAoZ3VpbGV2ZXIgKHZl cnNpb24tbWFqb3IrbWlub3IgKHBhY2thZ2UtdmVyc2lvbiBndWlsZS0zLjApKSkpCisgICAgKHBh Y2thZ2UKKyAgICAgIChuYW1lICJiYXNoLWJjdSIpCisgICAgICAodmVyc2lvbiAidjAuMi4wIikK KyAgICAgIChob21lLXBhZ2UgImh0dHBzOi8vZ2l0bGFiLmNvbS9tZXRodXNlbGFoLTAvYmFzaC1j b2RpbmctdXRpbHMuc2giKQorICAgICAgKHNvdXJjZQorICAgICAgIChvcmlnaW4KKyAgICAgICAg IChtZXRob2QgZ2l0LWZldGNoKQorICAgICAgICAgKHVyaSAoZ2l0LXJlZmVyZW5jZQorICAgICAg ICAgICAgICAgKGNvbW1pdCAiNDBkNjUyN2E5ZWZmYjRlMTg3NzhjMzdiZWJhYTlmM2E1OGRlMTJk NiIpCisgICAgICAgICAgICAgICAodXJsICJodHRwczovL2dpdGxhYi5jb20vbWV0aHVzZWxhaC0w L2Jhc2gtY29kaW5nLXV0aWxzLnNoLmdpdCIpCisgICAgICAgICAgICAgICAocmVjdXJzaXZlPyAj dCkpKQorICAgICAgICAgKHNoYTI1NgorICAgICAgICAgIChiYXNlMzIKKyAgICAgICAgICAgIjAw N2c2d2Z5YmpyMG1zMzJxaWtiNTQ1cjExbGdtM3A5OGNkN2RienBmeWgwZ3Jnbjl2ajEiKSkpKQor ICAgICAgKGlucHV0cyBgKCgiYmFzaC1mdWxsIiAsYmFzaCkKKyAgICAgICAgICAgICAgICAoImJp bmR1dGlscyIgLGlzYy1iaW5kICJ1dGlscyIpCisgICAgICAgICAgICAgICAgKCJjb3JldXRpbHMi ICxjb3JldXRpbHMpCisgICAgICAgICAgICAgICAgKCJjdHlwZXMuc2giICxiYXNoLWN0eXBlcykK KyAgICAgICAgICAgICAgICAoImN1cmwiICxjdXJsKQorICAgICAgICAgICAgICAgICgiZGlmZnV0 aWxzIiAsZGlmZnV0aWxzKQorICAgICAgICAgICAgICAgICgiZWQiICxlZCkKKyAgICAgICAgICAg ICAgICAoImV4cGVjdCIgLGV4cGVjdCkKKyAgICAgICAgICAgICAgICAoImZpbmQiICxmaW5kdXRp bHMpCisgICAgICAgICAgICAgICAgKCJnYXdrIiAsZ2F3aykKKyAgICAgICAgICAgICAgICAoImdy ZXAiICxncmVwKQorICAgICAgICAgICAgICAgICgiZ3VpbGUiICxndWlsZS0zLjApCisgICAgICAg ICAgICAgICAgKCJndWlsZS1iYXNoIiAsZ3VpbGUtYmFzaCkKKyAgICAgICAgICAgICAgICAoImd1 aWxlLWRhZW1vbiIgLGd1aWxlLWRhZW1vbikKKyAgICAgICAgICAgICAgICAoImluZXR1dGlscyIg LGluZXR1dGlscykKKyAgICAgICAgICAgICAgICAoImpxIiAsanEpCisgICAgICAgICAgICAgICAg KCJsaWJ4bWwyLXhwYXRoMCIgLGxpYnhtbDIteHBhdGgwKQorICAgICAgICAgICAgICAgICgibmV0 Y2F0IiAsbmV0Y2F0KQorICAgICAgICAgICAgICAgICgibm1hcCIgLG5tYXApCisgICAgICAgICAg ICAgICAgKCJwY3JlL2JpbiIgLHBjcmUgImJpbiIpCisgICAgICAgICAgICAgICAgKCJwZXJsIiAs cGVybCkKKyAgICAgICAgICAgICAgICAoInBocCIgLHBocCkKKyAgICAgICAgICAgICAgICAoInBy aXBzIiAscHJpcHMpCisgICAgICAgICAgICAgICAgKCJweXRob24iICxweXRob24pCisgICAgICAg ICAgICAgICAgKCJweXRob24tZWxlbWVudHBhdGgiICxweXRob24tZWxlbWVudHBhdGgpCisgICAg ICAgICAgICAgICAgKCJweXRob24tbHhtbCIgLHB5dGhvbi1seG1sKQorICAgICAgICAgICAgICAg ICgicHl0aG9uLW5ldGFkZHIiICxweXRob24tbmV0YWRkcikKKyAgICAgICAgICAgICAgICAoInB5 dGhvbi15cSIgLHB5dGhvbi15cSkKKyAgICAgICAgICAgICAgICAoInNlZCIgLHNlZCkKKyAgICAg ICAgICAgICAgICAoInNvY2F0IiAsc29jYXQpCisgICAgICAgICAgICAgICAgKCJ1dGlsLWxpbnV4 IiAsdXRpbC1saW51eCkKKyAgICAgICAgICAgICAgICAoIndoaWNoIiAsd2hpY2gpCisgICAgICAg ICAgICAgICAgKCJ4ZGctdXRpbHMiICx4ZGctdXRpbHMpCisgICAgICAgICAgICAgICAgKCJ5YWQi ICx5YWQpKSkKKyAgICAgIChhcmd1bWVudHMKKyAgICAgICBgKCM6bW9kdWxlcyAoKGd1aXggYnVp bGQgdXRpbHMpKQorICAgICAgICAgIzpidWlsZGVyCisgICAgICAgICAoYmVnaW4KKyAgICAgICAg ICAgKHVzZS1tb2R1bGVzIChndWl4IGJ1aWxkIHV0aWxzKSkKKyAgICAgICAgICAgKGxldCogKChi YXNoZnVsbCAoYXNzb2MtcmVmICVidWlsZC1pbnB1dHMgImJhc2gtZnVsbCIpKQorICAgICAgICAg ICAgICAgICAgOzsgU29tZSBndWlsZSBsaWJyYXJpZXMgc3VjaCBhcyBnbnUgYmFzaCB3aWxsIG5l ZWQKKyAgICAgICAgICAgICAgICAgIDs7IHRvIGJlIGFkZGVkIHRvIEdVSUxFX0xPQURfUEFUSAor ICAgICAgICAgICAgICAgICAgKGd1aWxlLWJhc2ggKGFzc29jLXJlZiAlYnVpbGQtaW5wdXRzICJn dWlsZS1iYXNoIikpCisgICAgICAgICAgICAgICAgICAoZy1iYXNoLWxpYiAoc3RyaW5nLWFwcGVu ZCBndWlsZS1iYXNoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAiL3NoYXJlL2d1aWxlL3NpdGUvIiAsZ3VpbGV2ZXIpKQorICAgICAgICAgICAgICAgICAgOzsg U29tZSBweXRob24gbGlicmFyaWVzIG5lZWRzIGFkZGVkIHRvIFBZVEhPTlBBVEgKKyAgICAgICAg ICAgICAgICAgIChwLWVsZW1lbnRwYXRoLWxpYiAoc3RyaW5nLWFwcGVuZAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoYXNzb2MtcmVmICVidWlsZC1pbnB1dHMgInB5dGhv bi1lbGVtZW50cGF0aCIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIv bGliL3B5dGhvbiIgLHB5dmVyICIvc2l0ZS1wYWNrYWdlcyIpKQorICAgICAgICAgICAgICAgICAg KHAtbHhtbC1saWIgKHN0cmluZy1hcHBlbmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoYXNzb2MtcmVmICVidWlsZC1pbnB1dHMgInB5dGhvbi1seG1sIikKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiL2xpYi9weXRob24iICxweXZlciAiL3NpdGUtcGFja2FnZXMiKSkK KyAgICAgICAgICAgICAgICAgIChwLW5ldGFkZHItbGliIChzdHJpbmctYXBwZW5kCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFzc29jLXJlZiAlYnVpbGQtaW5wdXRzICJweXRo b24tbmV0YWRkciIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi9saWIvcHl0 aG9uIiAscHl2ZXIgIi9zaXRlLXBhY2thZ2VzIikpCisgICAgICAgICAgICAgICAgICAocC1saWIg KHN0cmluZy1hcHBlbmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKGFzc29jLXJlZiAlYnVp bGQtaW5wdXRzICJweXRob24iKQorICAgICAgICAgICAgICAgICAgICAgICAgICAiL2xpYi9weXRo b24iICxweXZlciAiL3NpdGUtcGFja2FnZXMiKSkKKyAgICAgICAgICAgICAgICAgIChweWxpYnNs aW5lIChzdHJpbmctYXBwZW5kCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcC1lbGVt ZW50cGF0aC1saWIgIjoiIHAtbHhtbC1saWIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAiOiIgcC1uZXRhZGRyLWxpYiAiOiIgcC1saWIpKQorICAgICAgICAgICAgICAgICAgKG91dCAo YXNzb2MtcmVmICVvdXRwdXRzICJvdXQiKSkKKyAgICAgICAgICAgICAgICAgIChiaW4gKHN0cmlu Zy1hcHBlbmQgb3V0ICIvYmluIikpCisgICAgICAgICAgICAgICAgICA7OyBFdmVyeXRoaW5nIGJ1 dCBiY3Uuc2ggaXRzZWxmIGlzIG9ubHkgYWNjZXNzZWQKKyAgICAgICAgICAgICAgICAgIDs7IGlu dGVybmFsbHkgYnkgYmN1IHNvIHdlIHB1dCBpdCBpbiBsaWJleGVjLgorICAgICAgICAgICAgICAg ICAgKGxpYmV4ZWMgKHN0cmluZy1hcHBlbmQgb3V0ICIvbGliZXhlYy9iY3UiKSkpCisgICAgICAg ICAgICAgKG1rZGlyLXAgbGliZXhlYykKKyAgICAgICAgICAgICAoY29weS1yZWN1cnNpdmVseSAo YXNzb2MtcmVmICVidWlsZC1pbnB1dHMgInNvdXJjZSIpIGxpYmV4ZWMpCisgICAgICAgICAgICAg OzsgQ3JlYXRlIGEgYmN1LnNoIHdyYXBwaW5nIHNjcmlwdCBtYW51YWxseSB0aGF0IGVuc3VyZXMK KyAgICAgICAgICAgICA7OyB3ZSBwcmVwZW5kIG5lY2Vzc2FyeSBQQVRIcy4KKyAgICAgICAgICAg ICAobWtkaXItcCBiaW4pCisgICAgICAgICAgICAgKGxldCogKChiaW5maWxlIChzdHJpbmctYXBw ZW5kIGJpbiAiL2JjdS5zaCIpKQorICAgICAgICAgICAgICAgICAgICAoYmN1LXBvcnQgKG9wZW4t ZmlsZSBiaW5maWxlICJhIikpCisgICAgICAgICAgICAgICAgICAgIChwYXRobGluZSAoc3RyaW5n LWFwcGVuZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhc2hmdWxsICIvYmluIgor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI6IiAoYXNzb2MtcmVmICVidWlsZC1pbnB1 dHMgImJpbmR1dGlscyIpICIvYmluIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI6 IiAoYXNzb2MtcmVmICVidWlsZC1pbnB1dHMgImNvcmV1dGlscyIpICIvYmluIgorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICI6IiAoYXNzb2MtcmVmICVidWlsZC1pbnB1dHMgImN0eXBl cy5zaCIpICIvYmluIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI6IiAoYXNzb2Mt cmVmICVidWlsZC1pbnB1dHMgImN1cmwiKSAiL2JpbiIKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAiOiIgKGFzc29jLXJlZiAlYnVpbGQtaW5wdXRzICJkaWZmdXRpbHMiKSAiL2JpbiIK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiOiIgKGFzc29jLXJlZiAlYnVpbGQtaW5w dXRzICJlZCIpICIvYmluIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI6IiAoYXNz b2MtcmVmICVidWlsZC1pbnB1dHMgImV4cGVjdCIpICIvYmluIgorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICI6IiAoYXNzb2MtcmVmICVidWlsZC1pbnB1dHMgImZpbmQiKSAiL2JpbiIK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiOiIgKGFzc29jLXJlZiAlYnVpbGQtaW5w dXRzICJnYXdrIikgIi9iaW4iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjoiIChh c3NvYy1yZWYgJWJ1aWxkLWlucHV0cyAiZ3JlcCIpICIvYmluIgorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICI6IiAoYXNzb2MtcmVmICVidWlsZC1pbnB1dHMgImd1aWxlIikgIi9iaW4i CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjoiIChhc3NvYy1yZWYgJWJ1aWxkLWlu cHV0cyAiaW5ldHV0aWxzIikgIi9iaW4iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IjoiIChhc3NvYy1yZWYgJWJ1aWxkLWlucHV0cyAianEiKSAiL2JpbiIKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiOiIgKGFzc29jLXJlZiAlYnVpbGQtaW5wdXRzICJsaWJ4bWwyLXhw YXRoMCIpICIvYmluIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI6IiAoYXNzb2Mt cmVmICVidWlsZC1pbnB1dHMgIm5ldGNhdCIpICIvYmluIgorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICI6IiAoYXNzb2MtcmVmICVidWlsZC1pbnB1dHMgIm5tYXAiKSAiL2JpbiIKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiOiIgKGFzc29jLXJlZiAlYnVpbGQtaW5wdXRz ICJwY3JlL2JpbiIpICIvYmluIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI6IiAo YXNzb2MtcmVmICVidWlsZC1pbnB1dHMgInBlcmwiKSAiL2JpbiIKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAiOiIgKGFzc29jLXJlZiAlYnVpbGQtaW5wdXRzICJwaHAiKSAiL2JpbiIK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiOiIgKGFzc29jLXJlZiAlYnVpbGQtaW5w dXRzICJwcmlwcyIpICIvYmluIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI6IiAo YXNzb2MtcmVmICVidWlsZC1pbnB1dHMgInB5dGhvbiIpICIvYmluIgorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICI6IiAoYXNzb2MtcmVmICVidWlsZC1pbnB1dHMgInB5dGhvbi15cSIp ICIvYmluIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI6IiAoYXNzb2MtcmVmICVi dWlsZC1pbnB1dHMgInNlZCIpICIvYmluIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICI6IiAoYXNzb2MtcmVmICVidWlsZC1pbnB1dHMgInNvY2F0IikgIi9iaW4iCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIjoiIChhc3NvYy1yZWYgJWJ1aWxkLWlucHV0cyAidXRpbC1s aW51eCIpICIvYmluIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI6IiAoYXNzb2Mt cmVmICVidWlsZC1pbnB1dHMgIndoaWNoIikgIi9iaW4iCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIjoiIChhc3NvYy1yZWYgJWJ1aWxkLWlucHV0cyAieGRnLXV0aWxzIikgIi9iaW4i CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjoiIChhc3NvYy1yZWYgJWJ1aWxkLWlu cHV0cyAieWFkIikgIi9iaW4iKSkpCisgICAgICAgICAgICAgICAoZGlzcGxheSAoc3RyaW5nLWFw cGVuZCAiIyEiIGJhc2hmdWxsICIvYmluL2Jhc2hcbiIpIGJjdS1wb3J0KQorICAgICAgICAgICAg ICAgKGRpc3BsYXkKKyAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZAorICAgICAgICAgICAg ICAgICAiW1sgXCIkX0JDVV9TSF9MT0FERURcIiA9PSBZRVMgXV0gfHwgeyBcbmV4cG9ydCBQQVRI PVwiIgorICAgICAgICAgICAgICAgICBwYXRobGluZSAiJHtQQVRIOis6fSR7UEFUSH1cIlxuZXhw b3J0IFBZVEhPTlBBVEg9XCIiCisgICAgICAgICAgICAgICAgIHB5bGlic2xpbmUgIiR7UFlUSE9O UEFUSDorOn0ke1BZVEhPTlBBVEh9XCJcbmV4cG9ydCBHVUlMRV9MT0FEX1BBVEg9XCIiCisgICAg ICAgICAgICAgICAgIGctYmFzaC1saWIgIiR7R1VJTEVfTE9BRF9QQVRIOis6fSR7R1VJTEVfTE9B RF9QQVRIfVwiXG4iCisgICAgICAgICAgICAgICAgIDs7IFhER19EQVRBX0RJUlMgbmVlZHMgc2V0 IGZvciB5YWQgdG8gbG9hZCBpY29ucyBwcm9wZXJseQorICAgICAgICAgICAgICAgICAiW1sgLWUg L3J1bi9jdXJyZW50LXN5c3RlbS9wcm9maWxlL3NoYXJlIF1dICYmIGV4cG9ydCBYREdfREFUQV9E SVJTPSIKKyAgICAgICAgICAgICAgICAgIi9ydW4vY3VycmVudC1zeXN0ZW0vcHJvZmlsZS9zaGFy ZSR7WERHX0RBVEFfRElSUzorOn0ke1hER19EQVRBX0RJUlN9XG4iCisgICAgICAgICAgICAgICAg IDs7IEVuc3VyZSB0aGF0IHRoZSBzZXR1aWQgdmVyc2lvbiBvZiBwaW5nIGlzIHVzZWQKKyAgICAg ICAgICAgICAgICAgIltbIC1lIC9ydW4vc2V0dWlkLXByb2dyYW1zL3BpbmcgXV0gJiYgIgorICAg ICAgICAgICAgICAgICAicGluZygpeyAvcnVuL3NldHVpZC1wcm9ncmFtcy9waW5nIFwiJEBcIiA7 IH0gJiYgZXhwb3J0IC1mIHBpbmdcbiIKKyAgICAgICAgICAgICAgICAgIltbIC1lIC9ydW4vc2V0 dWlkLXByb2dyYW1zL3Bpbmc2IF1dICYmICIKKyAgICAgICAgICAgICAgICAgInBpbmc2KCl7IC9y dW4vc2V0dWlkLXByb2dyYW1zL3Bpbmc2IFwiJEBcIiA7IH0gJiYgZXhwb3J0IC1mIHBpbmc2XG59 XG4iKQorICAgICAgICAgICAgICAgIGJjdS1wb3J0KQorICAgICAgICAgICAgICAgKGRpc3BsYXkg KHN0cmluZy1hcHBlbmQgInNvdXJjZSAiIGxpYmV4ZWMgIi9iY3Uuc2hcbiIpIGJjdS1wb3J0KQor ICAgICAgICAgICAgICAgKGNsb3NlLXBvcnQgYmN1LXBvcnQpCisgICAgICAgICAgICAgICAoY2ht b2QgYmluZmlsZSAjbzU1NSkKKyAgICAgICAgICAgICAgIChzZXRlbnYgIlBBVEgiIChzdHJpbmct YXBwZW5kIHBhdGhsaW5lICI6IiAoZ2V0ZW52ICJQQVRIIikpKSkKKyAgICAgICAgICAgICAoZm9y LWVhY2ggKGxhbWJkYSAoZmlsZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAoc3Vic3RpdHV0 ZSogZmlsZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgifi9cXC5ndWl4LXByb2ZpbGUv bGliL2Jhc2gvbGliZ3VpbGUtYmFzaFxcLnNvIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoc3RyaW5nLWFwcGVuZCBndWlsZS1iYXNoICIvbGliL2Jhc2gvbGliZ3VpbGUtYmFzaC5zbyIp KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgiXCJcXCRHVUlYX1BST0ZJTEVcIi9saWIv YmFzaC9saWJndWlsZS1iYXNoXFwuc28iKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChz dHJpbmctYXBwZW5kIGd1aWxlLWJhc2ggIi9saWIvYmFzaC9saWJndWlsZS1iYXNoLnNvIikpKSkK KyAgICAgICAgICAgICAgICAgICAgICAgKGZpbmQtZmlsZXMgb3V0ICIuKlxcLnNoIikpCisgICAg ICAgICAgICAgKGZvci1lYWNoIChsYW1iZGEgKGZpbGUpCisgICAgICAgICAgICAgICAgICAgICAg ICAgKHBhdGNoLXNoZWJhbmcgZmlsZSkpCisgICAgICAgICAgICAgICAgICAgICAgIChmaW5kLWZp bGVzIG91dCAiLipcXC4oc2h8c2NtfGF3a3xwaHB8cHkpJCIpKQorICAgICAgICAgICAgIDs7IFNl dHVwIFBBVEggZm9yIHRlc3RzCisgICAgICAgICAgICAgKHNldGVudiAiUEFUSCIgKHN0cmluZy1h cHBlbmQgYmluICI6IiAoZ2V0ZW52ICJQQVRIIikpKQorICAgICAgICAgICAgIDs7IFNvbWUgdGVz dHMgbmVlZCBhIEhPTUUtZGlyZWN0b3J5CisgICAgICAgICAgICAgKHNldGVudiAiSE9NRSIgIi90 bXAiKQorICAgICAgICAgICAgIDs7IERpc2FibGUgbmV0d29yayB0ZXN0cywgYW5kIGFsbCB0ZXN0 cyBmb3Igc2V0b3B0cyB3aGljaAorICAgICAgICAgICAgIDs7IGRvbid0IHdvcmsgaW5zaWRlIHRo ZSBHdWl4IGJ1aWxkIGVudmlyb25tZW50CisgICAgICAgICAgICAgKGNhbGwtd2l0aC1vdXRwdXQt ZmlsZSAoc3RyaW5nLWFwcGVuZCBsaWJleGVjICIvZGlzYWJsZWRfdGVzdHMudHh0IikKKyAgICAg ICAgICAgICAgIChsYW1iZGEgKHBvcnQpCisgICAgICAgICAgICAgICAgIChkaXNwbGF5IChzdHJp bmctYXBwZW5kCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXBfb2ZfdGVzdF8xXG5zZXRv cHRzX3Rlc3RfMVxuc2V0b3B0c190ZXN0XzJcbnNldG9wdHNfdGVzdF8zIgorICAgICAgICAgICAg ICAgICAgICAgICAgICAgIlxuc2V0b3B0c190ZXN0XzRcbnNldG9wdHNfdGVzdF81XG5zZXRvcHRz X3Rlc3RfNlxuIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgcG9ydCkpKQorICAgICAgICAg ICAgIChpbnZva2UgKHN0cmluZy1hcHBlbmQgbGliZXhlYyAiL2JjdS10ZXN0LnNoIikpKSkpKQor ICAgICAgKGJ1aWxkLXN5c3RlbSB0cml2aWFsLWJ1aWxkLXN5c3RlbSkKKyAgICAgIChzeW5vcHNp cyAiQmFzaCBmdW5jdGlvbnMgYW5kIHRvb2xzIGZvciBzb2Z0d2FyZSBwcm90b3R5cGluZyBpbiBC YXNoIikKKyAgICAgIChkZXNjcmlwdGlvbgorICAgICAgIChzdHJpbmctYXBwZW5kCisgICAgICAg ICJCYXNoLWJjdSBjb250YWlucyBiYXNoIGZ1bmN0aW9ucyBhbmQgd3JhcHBlcnMgdGhhdCBjYW4g YmUgdXNlZnVsIHdoZW4iCisgICAgICAgICIgd3JpdGluZyBxdWljayBpbXBsZW1lbnRhdGlvbnMg b2YgbmV3IHByb2dyYW1zLiAgSXQgaGVscHMgeW91IHdvcmsgd2l0aCIKKyAgICAgICAgIiBKU09O LCBYTUwsIHBhcmFsbGVsaXphdGlvbiBhbmQgaW5zdGFsbHMgc29tZSBjb21tb25seSB1c2VkIFwi aGVscGVyXCIiCisgICAgICAgICIgcHJvZ3JhbXMgdXNlZCBpbiBCYXNoIHNjcmlwdGluZy4gIEp1 c3QgcnVuIEBjb21tYW5key4gYmN1LnNofSwgdHlwZSAiCisgICAgICAgICJAY29tbWFuZHtiY3Vf X30sIGhpdCBAY29tbWFuZHtUQUJ9IHRvIHNlZSBhdmFpbGFibGUgZnVuY3Rpb25zIGFuZCBnaXZl IgorICAgICAgICAiIGFueSBvZiB0aGVtIHRoZSBAY29tbWFuZHsgLS1oZWxwfSBmbGFnIHRvIHNl ZSBob3cgdG8gdXNlIGl0LCBvciBydW4gIgorICAgICAgICAiQGNvbW1hbmR7YmN1X19kb2NzfSBm b3IgdGhlIGZ1bGwgaHRtbCBkb2N1bWVudGF0aW9uLiIpKQorICAgICAgKGxpY2Vuc2UgbGljZW5z ZTpncGwzKSkpKQotLSAKMi4zMS4wCgo= --=_fda8226204e5fbea458293b0cfb9790a--
david larsson <david.larsson@HIDDEN>
:guix-patches@HIDDEN
.
Full text available.guix-patches@HIDDEN
:bug#51512
; Package guix-patches
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.