Subject: Re: [bug#29835] pdsh: Update to 2.33 (use new upstream URL)

From: Kei Kebreau <[email-masked]>
Date: Sun, 24 Dec 2017 11:01:02 -0500

ng0 <[email-masked]> writes:

> See commit message for details.
> -- 
> GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588
> GnuPG: https://c.n0.is/ng0_pubkeys/tree/keys
>   WWW: https://n0.is
>
> From cfc0c5626f599a4dab8cd5a249de14ffb16d641b Mon Sep 17 00:00:00 2001
> From: ng0 <[email-masked]>
> Date: Sun, 24 Dec 2017 11:57:18 +0000
> Subject: [PATCH] gnu: pdsh: Update to 2.33.
>
> pdsh was located on Googlecode, which shut down recently.

Google separated "Googlecode" into two separate words.

> Four other distros switched to the new URL introduced in
> this commit.
>
> * gnu/packages/ssh.scm (pdsh): Update to 2.33.
> [source]: Use new upstream URL.
> (arguments)[phases]: Add new files to substitute in 'patch-/bin/sh' phase.
> Add new 'patch-tests' phase to make test 't6036-long-output-lines' pass.
> [native-inputs]: Add it, for 'which'.

This part came off as a bit odd to me. Checking our git history,
typically when a field of dependencies is newly added we still only
name the packages within the field, like so:

[native-inputs]: Add 'which'.

> [home-page]: Use new upstream URL.
> ---
>  gnu/packages/ssh.scm | 36 +++++++++++++++++++++++++++++-------
>  1 file changed, 29 insertions(+), 7 deletions(-)
>
> diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm
> index 8317f29cd..793dcf8dc 100644
> --- a/gnu/packages/ssh.scm
> +++ b/gnu/packages/ssh.scm
> @@ -9,6 +9,7 @@
>  ;;; Copyright © 2017 Tobias Geerinckx-Rice <[email-masked]>
>  ;;; Copyright © 2017 Stefan Reichör <[email-masked]>
>  ;;; Copyright © 2017 Ricardo Wurmus <[email-masked]>
> +;;; Copyright © 2017 ng0 <[email-masked]>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -608,15 +609,16 @@ monitor it, restarting it as necessary should it die or stop passing traffic.")
>  (define-public pdsh
>    (package
>      (name "pdsh")
> -    (version "2.29")
> +    (version "2.33")
>      (source
>       (origin
>         (method url-fetch)
> -       (uri (string-append "https://storage.googleapis.com/"
> -                           "google-code-archive-downloads/v2/code.google.com/"
> -                           "pdsh/pdsh-" version ".tar.bz2"))
> +       (uri (string-append "https://github.com/chaos/pdsh/"
> +                           "releases/download/pdsh-" version
> +                           "/pdsh-" version ".tar.gz"))
> +       (file-name (string-append name "-" version ".tar.gz"))
>         (sha256
> -        (base32 "1kvzz01fyaxfqmbh53f4ljfsgvxdykh5jyr6fh4f1bw2ywxr1w2p"))))
> +        (base32 "0bwlkl9inj66iwvafg00pi3sk9n673phdi0kcc59y9nn55s0hs3k"))))
>      (build-system gnu-build-system)
>      (arguments
>       `(#:configure-flags
> @@ -625,16 +627,36 @@ monitor it, restarting it as necessary should it die or stop passing traffic.")
>         (modify-phases %standard-phases
>           (add-after 'unpack 'patch-/bin/sh
>             (lambda _
> -             (substitute* '("tests/runtests.sh"
> +             (substitute* '("tests/t0006-pdcp.sh"
> +                            "tests/t0004-module-loading.sh"
> +                            "tests/t2001-ssh.sh"
> +                            "tests/t1003-slurm.sh"
> +                            "tests/t6036-long-output-lines.sh"
> +                            "tests/aggregate-results.sh"
> +                            "tests/t2000-exec.sh"
> +                            "tests/t0002-internal.sh"
> +                            "tests/t1002-dshgroup.sh"
> +                            "tests/t5000-dshbak.sh"
> +                            "tests/t0001-basic.sh"
> +                            "tests/t0005-rcmd_type-and-user.sh"
>                              "tests/test-lib.sh"
> +                            "tests/t2002-mrsh.sh"
> +                            "tests/t0003-wcoll.sh"
>                              "tests/test-modules/pcptest.c")
>                 (("/bin/sh") (which "bash")))
> +             #t))
> +         (add-after 'unpack 'patch-tests
> +           (lambda _
> +             (substitute* "tests/t6036-long-output-lines.sh"
> +               (("which") (which "which")))
>               #t)))))
>      (inputs
>       `(("openssh" ,openssh)
>         ("mit-krb5" ,mit-krb5)
>         ("perl" ,perl)))
> -    (home-page "https://code.google.com/archive/p/pdsh")
> +    (native-inputs
> +     `(("which" ,which)))
> +    (home-page "https://github.com/chaos/pdsh")
>      (synopsis "Parallel distributed shell")
>      (description "Pdsh is a an efficient, multithreaded remote shell client
>  which executes commands on multiple remote hosts in parallel.  Pdsh implements

Otherwise, this LGTM! I've pushed it to master with my pedantic
changes. Thanks for the patch.