Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

perlPackages.ClusterSSH: init at 4.13.2 #48857

Closed
wants to merge 3 commits into from

Conversation

aither64
Copy link
Contributor

Motivation for this change

Adds ClusterSSH with one dependency and myself as a maintainer. ClusterSSH is a tool that lets you interactively manage multiple servers over SSH at once.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Fits CONTRIBUTING.md.

@aither64
Copy link
Contributor Author

You're right, thanks! I've been looking at CPAN before, but I thought it's just some library and not the program itself.

I've also added installation of script for bash completion and missing dependency on openssh.

@aanderse
Copy link
Member

@GrahamcOfBorg build perlPackages.ClusterSSH

@aither64 Doing a quick scan of the perl source code I found this: https://metacpan.org/source/DUNCS/App-ClusterSSH-v4.13.2/lib/App/ClusterSSH/Config.pm#L464

Without looking into it in detail, did you test the application in such a way that you confirmed this code works as intended?

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: perlPackages.ClusterSSH

Partial log (click to expand)

strip is /nix/store/vcc4svb8gy29g4pam2zja6llkbcwsyiq-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/wbp00fgb02vyq50gavpa7xa5amch0q2h-perl5.28.0-App-ClusterSSH-4.13.2/lib  /nix/store/wbp00fgb02vyq50gavpa7xa5amch0q2h-perl5.28.0-App-ClusterSSH-4.13.2/bin
patching script interpreter paths in /nix/store/wbp00fgb02vyq50gavpa7xa5amch0q2h-perl5.28.0-App-ClusterSSH-4.13.2
checking for references to /build in /nix/store/wbp00fgb02vyq50gavpa7xa5amch0q2h-perl5.28.0-App-ClusterSSH-4.13.2...
shrinking RPATHs of ELF executables and libraries in /nix/store/2zsrgyrs6xiikz1191rs6vbnk5pr3pbk-perl5.28.0-App-ClusterSSH-4.13.2-devdoc
gzipping man pages under /nix/store/2zsrgyrs6xiikz1191rs6vbnk5pr3pbk-perl5.28.0-App-ClusterSSH-4.13.2-devdoc/share/man/
strip is /nix/store/vcc4svb8gy29g4pam2zja6llkbcwsyiq-binutils-2.30/bin/strip
patching script interpreter paths in /nix/store/2zsrgyrs6xiikz1191rs6vbnk5pr3pbk-perl5.28.0-App-ClusterSSH-4.13.2-devdoc
checking for references to /build in /nix/store/2zsrgyrs6xiikz1191rs6vbnk5pr3pbk-perl5.28.0-App-ClusterSSH-4.13.2-devdoc...
/nix/store/wbp00fgb02vyq50gavpa7xa5amch0q2h-perl5.28.0-App-ClusterSSH-4.13.2

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: perlPackages.ClusterSSH

Partial log (click to expand)

strip is /nix/store/p9akxn2sfy4wkhqdqa3li97pc6jaz3r1-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/lqsvcdn8lpwzdivx458f4dbambqwxvhl-perl5.28.0-App-ClusterSSH-4.13.2/lib  /nix/store/lqsvcdn8lpwzdivx458f4dbambqwxvhl-perl5.28.0-App-ClusterSSH-4.13.2/bin
patching script interpreter paths in /nix/store/lqsvcdn8lpwzdivx458f4dbambqwxvhl-perl5.28.0-App-ClusterSSH-4.13.2
checking for references to /build in /nix/store/lqsvcdn8lpwzdivx458f4dbambqwxvhl-perl5.28.0-App-ClusterSSH-4.13.2...
shrinking RPATHs of ELF executables and libraries in /nix/store/l0haqanl5825gypqfrdv5641xp6naid8-perl5.28.0-App-ClusterSSH-4.13.2-devdoc
gzipping man pages under /nix/store/l0haqanl5825gypqfrdv5641xp6naid8-perl5.28.0-App-ClusterSSH-4.13.2-devdoc/share/man/
strip is /nix/store/p9akxn2sfy4wkhqdqa3li97pc6jaz3r1-binutils-2.30/bin/strip
patching script interpreter paths in /nix/store/l0haqanl5825gypqfrdv5641xp6naid8-perl5.28.0-App-ClusterSSH-4.13.2-devdoc
checking for references to /build in /nix/store/l0haqanl5825gypqfrdv5641xp6naid8-perl5.28.0-App-ClusterSSH-4.13.2-devdoc...
/nix/store/lqsvcdn8lpwzdivx458f4dbambqwxvhl-perl5.28.0-App-ClusterSSH-4.13.2

sha256 = "0rmk2p3f2wz1h092anidjclh212rv3gxyk0c641qk3frlrjnw6mp";
};
propagatedBuildInputs = [ ExceptionClass FilePath GetoptLong LocaleMaketext Tk TryTiny X11Protocol X11ProtocolOther pkgs.coreutils pkgs.openssh pkgs.xterm ];
buildInputs = [ FileSlurp FileTemp FileWhich CPANChanges TestPerlTidy TestPod TestPodCoverage Readonly TestDifferences TestDistManifest TestTrap ];
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please break both lists into multiple lines for readability.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok. I was not aware of that.

@aither64
Copy link
Contributor Author

@aanderse, yes, I'm using it and it works for me. The code you linked is used to find xterm (or some other configured terminal), so the hardcoded paths would be used if it weren't found already in $PATH, i.e. it will not find it on NixOS and exit. I guess we could add /run/current-system/sw/bin to the hardcoded list, but I think it is sufficient to rely on $PATH being set properly and having the terminal in it.

@aither64 aither64 force-pushed the clusterssh branch 2 times, most recently from f7432b1 to a2c3af4 Compare November 15, 2018 19:24
@Mic92
Copy link
Member

Mic92 commented Nov 15, 2018

@GrahamcOfBorg build perlPackages.ClusterSSH

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: perlPackages.ClusterSSH

Partial log (click to expand)

strip is /nix/store/vcc4svb8gy29g4pam2zja6llkbcwsyiq-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/xsn0s5g49650y89241vdal28wz1l7knk-perl5.28.0-App-ClusterSSH-4.13.2/lib  /nix/store/xsn0s5g49650y89241vdal28wz1l7knk-perl5.28.0-App-ClusterSSH-4.13.2/bin
patching script interpreter paths in /nix/store/xsn0s5g49650y89241vdal28wz1l7knk-perl5.28.0-App-ClusterSSH-4.13.2
checking for references to /build in /nix/store/xsn0s5g49650y89241vdal28wz1l7knk-perl5.28.0-App-ClusterSSH-4.13.2...
shrinking RPATHs of ELF executables and libraries in /nix/store/gzynavpxaw0d87w3qk0yg23ddk26h39b-perl5.28.0-App-ClusterSSH-4.13.2-devdoc
gzipping man pages under /nix/store/gzynavpxaw0d87w3qk0yg23ddk26h39b-perl5.28.0-App-ClusterSSH-4.13.2-devdoc/share/man/
strip is /nix/store/vcc4svb8gy29g4pam2zja6llkbcwsyiq-binutils-2.30/bin/strip
patching script interpreter paths in /nix/store/gzynavpxaw0d87w3qk0yg23ddk26h39b-perl5.28.0-App-ClusterSSH-4.13.2-devdoc
checking for references to /build in /nix/store/gzynavpxaw0d87w3qk0yg23ddk26h39b-perl5.28.0-App-ClusterSSH-4.13.2-devdoc...
/nix/store/xsn0s5g49650y89241vdal28wz1l7knk-perl5.28.0-App-ClusterSSH-4.13.2

@GrahamcOfBorg
Copy link

Failure on x86_64-darwin (full log)

Attempted: perlPackages.ClusterSSH

Partial log (click to expand)

  TODO passed:   160-163, 168-171
t/30cluster.t   (Wstat: 512 Tests: 59 Failed: 0)
  Non-zero exit status: 2
  Parse errors: No plan found in TAP output
Files=16, Tests=1916, 11 wallclock secs ( 0.23 usr  0.09 sys +  8.08 cusr  2.26 csys = 10.66 CPU)
Result: FAIL
Failed 1/16 test programs. 0/1916 subtests failed.
make: *** [Makefile:1025: test_dynamic] Error 255
builder for '/nix/store/csp92ks9w95rm3p9pkl60w9qsdq9bc33-perl5.28.0-App-ClusterSSH-4.13.2.drv' failed with exit code 2
error: build of '/nix/store/csp92ks9w95rm3p9pkl60w9qsdq9bc33-perl5.28.0-App-ClusterSSH-4.13.2.drv' failed

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: perlPackages.ClusterSSH

Partial log (click to expand)

strip is /nix/store/p9akxn2sfy4wkhqdqa3li97pc6jaz3r1-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/58lissxzppdn2cy62abhfq98ln83lvqd-perl5.28.0-App-ClusterSSH-4.13.2/lib  /nix/store/58lissxzppdn2cy62abhfq98ln83lvqd-perl5.28.0-App-ClusterSSH-4.13.2/bin
patching script interpreter paths in /nix/store/58lissxzppdn2cy62abhfq98ln83lvqd-perl5.28.0-App-ClusterSSH-4.13.2
checking for references to /build in /nix/store/58lissxzppdn2cy62abhfq98ln83lvqd-perl5.28.0-App-ClusterSSH-4.13.2...
shrinking RPATHs of ELF executables and libraries in /nix/store/8308zlb51l4i74xjmdh2k2l4gfqn46i7-perl5.28.0-App-ClusterSSH-4.13.2-devdoc
gzipping man pages under /nix/store/8308zlb51l4i74xjmdh2k2l4gfqn46i7-perl5.28.0-App-ClusterSSH-4.13.2-devdoc/share/man/
strip is /nix/store/p9akxn2sfy4wkhqdqa3li97pc6jaz3r1-binutils-2.30/bin/strip
patching script interpreter paths in /nix/store/8308zlb51l4i74xjmdh2k2l4gfqn46i7-perl5.28.0-App-ClusterSSH-4.13.2-devdoc
checking for references to /build in /nix/store/8308zlb51l4i74xjmdh2k2l4gfqn46i7-perl5.28.0-App-ClusterSSH-4.13.2-devdoc...
/nix/store/58lissxzppdn2cy62abhfq98ln83lvqd-perl5.28.0-App-ClusterSSH-4.13.2

@aanderse
Copy link
Member

@aanderse, yes, I'm using it and it works for me. The code you linked is used to find xterm (or some other configured terminal), so the hardcoded paths would be used if it weren't found already in $PATH, i.e. it will not find it on NixOS and exit. I guess we could add /run/current-system/sw/bin to the hardcoded list, but I think it is sufficient to rely on $PATH being set properly and having the terminal in it.

Makes sense to me. In this situation you should avoid adding /run/current-system/sw/bin as it is always better to explicitly declare dependencies when you can, like this situation. Looking good.

@Mic92
Copy link
Member

Mic92 commented Nov 16, 2018

@GrahamcOfBorg build perldevelPackages.ClusterSSH

@Mic92
Copy link
Member

Mic92 commented Nov 16, 2018

@volth do we need to take special care if packages do not build for specific perl version?

@GrahamcOfBorg
Copy link

Failure on x86_64-linux (full log)

Attempted: perldevelPackages.ClusterSSH

Partial log (click to expand)

stripping (with command strip and flags -S) in /nix/store/w0gyc5xkj81ywrchsb0gdiazw4r5knn3-perl5.29.4-X11-Protocol-Other-30/lib
patching script interpreter paths in /nix/store/w0gyc5xkj81ywrchsb0gdiazw4r5knn3-perl5.29.4-X11-Protocol-Other-30
checking for references to /build in /nix/store/w0gyc5xkj81ywrchsb0gdiazw4r5knn3-perl5.29.4-X11-Protocol-Other-30...
shrinking RPATHs of ELF executables and libraries in /nix/store/if38vapx8q8nl685gbynhbjin474l9wp-perl5.29.4-X11-Protocol-Other-30-devdoc
gzipping man pages under /nix/store/if38vapx8q8nl685gbynhbjin474l9wp-perl5.29.4-X11-Protocol-Other-30-devdoc/share/man/
strip is /nix/store/vcc4svb8gy29g4pam2zja6llkbcwsyiq-binutils-2.30/bin/strip
patching script interpreter paths in /nix/store/if38vapx8q8nl685gbynhbjin474l9wp-perl5.29.4-X11-Protocol-Other-30-devdoc
checking for references to /build in /nix/store/if38vapx8q8nl685gbynhbjin474l9wp-perl5.29.4-X11-Protocol-Other-30-devdoc...
cannot build derivation '/nix/store/3q5ccjgvx8l2bksvj5qib54pwjdinbpd-perl5.29.4-App-ClusterSSH-4.13.2.drv': 2 dependencies couldn't be built
error: build of '/nix/store/3q5ccjgvx8l2bksvj5qib54pwjdinbpd-perl5.29.4-App-ClusterSSH-4.13.2.drv' failed

@GrahamcOfBorg
Copy link

Failure on aarch64-linux (full log)

Attempted: perldevelPackages.ClusterSSH

Partial log (click to expand)

/nix/store/31ynnqhjxafdvinsvx45q7vxvkllgrqb-perl5.29.4-Tk-804.034/lib/perl5/site_perl/5.29.4/aarch64-linux-thread-multi/Tk/pTk/Tcl-pTk: interpreter directive changed from "/usr/bin/perl -w -I/nix/store/n22j0jdr8ka9f7x86x0s379mim8afgi5-perl-5.29.4/lib/perl5/site_perl -I/nix/store/n22j0jdr8ka9f7x86x0s379mim8afgi5-perl-5.29.4/lib/perl5/site_perl -I/nix/store/n22j0jdr8ka9f7x86x0s379mim8afgi5-perl-5.29.4/lib/perl5/site_perl -I/nix/store/31ynnqhjxafdvinsvx45q7vxvkllgrqb-perl5.29.4-Tk-804.034/lib/perl5/site_perl" to "/nix/store/n22j0jdr8ka9f7x86x0s379mim8afgi5-perl-5.29.4/bin/perl -w -I/nix/store/n22j0jdr8ka9f7x86x0s379mim8afgi5-perl-5.29.4/lib/perl5/site_perl -I/nix/store/n22j0jdr8ka9f7x86x0s379mim8afgi5-perl-5.29.4/lib/perl5/site_perl -I/nix/store/n22j0jdr8ka9f7x86x0s379mim8afgi5-perl-5.29.4/lib/perl5/site_perl -I/nix/store/31ynnqhjxafdvinsvx45q7vxvkllgrqb-perl5.29.4-Tk-804.034/lib/perl5/site_perl"
/nix/store/31ynnqhjxafdvinsvx45q7vxvkllgrqb-perl5.29.4-Tk-804.034/lib/perl5/site_perl/5.29.4/aarch64-linux-thread-multi/Tk/pTk/mkVFunc: interpreter directive changed from "/usr/bin/perl -w -I/nix/store/n22j0jdr8ka9f7x86x0s379mim8afgi5-perl-5.29.4/lib/perl5/site_perl -I/nix/store/n22j0jdr8ka9f7x86x0s379mim8afgi5-perl-5.29.4/lib/perl5/site_perl -I/nix/store/n22j0jdr8ka9f7x86x0s379mim8afgi5-perl-5.29.4/lib/perl5/site_perl -I/nix/store/31ynnqhjxafdvinsvx45q7vxvkllgrqb-perl5.29.4-Tk-804.034/lib/perl5/site_perl" to "/nix/store/n22j0jdr8ka9f7x86x0s379mim8afgi5-perl-5.29.4/bin/perl -w -I/nix/store/n22j0jdr8ka9f7x86x0s379mim8afgi5-perl-5.29.4/lib/perl5/site_perl -I/nix/store/n22j0jdr8ka9f7x86x0s379mim8afgi5-perl-5.29.4/lib/perl5/site_perl -I/nix/store/n22j0jdr8ka9f7x86x0s379mim8afgi5-perl-5.29.4/lib/perl5/site_perl -I/nix/store/31ynnqhjxafdvinsvx45q7vxvkllgrqb-perl5.29.4-Tk-804.034/lib/perl5/site_perl"
checking for references to /build in /nix/store/31ynnqhjxafdvinsvx45q7vxvkllgrqb-perl5.29.4-Tk-804.034...
shrinking RPATHs of ELF executables and libraries in /nix/store/hlzxixmfb9rpr90p8gh391zqhyj8k7bs-perl5.29.4-Tk-804.034-devdoc
gzipping man pages under /nix/store/hlzxixmfb9rpr90p8gh391zqhyj8k7bs-perl5.29.4-Tk-804.034-devdoc/share/man/
strip is /nix/store/p9akxn2sfy4wkhqdqa3li97pc6jaz3r1-binutils-2.30/bin/strip
patching script interpreter paths in /nix/store/hlzxixmfb9rpr90p8gh391zqhyj8k7bs-perl5.29.4-Tk-804.034-devdoc
checking for references to /build in /nix/store/hlzxixmfb9rpr90p8gh391zqhyj8k7bs-perl5.29.4-Tk-804.034-devdoc...
cannot build derivation '/nix/store/bm5l0xi19zpg5hkhq8cm9j7h91jvg2rf-perl5.29.4-App-ClusterSSH-4.13.2.drv': 2 dependencies couldn't be built
error: build of '/nix/store/bm5l0xi19zpg5hkhq8cm9j7h91jvg2rf-perl5.29.4-App-ClusterSSH-4.13.2.drv' failed

@GrahamcOfBorg
Copy link

Failure on x86_64-darwin (full log)

Attempted: perldevelPackages.ClusterSSH

Partial log (click to expand)

strip is /nix/store/g5r4apl0za012ffs6ladinwa5w0m1l3k-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/5lm1nhd4pbf7mdmkpq6046h253iswayw-perl5.29.4-Tk-804.034/lib  /nix/store/5lm1nhd4pbf7mdmkpq6046h253iswayw-perl5.29.4-Tk-804.034/bin
patching script interpreter paths in /nix/store/5lm1nhd4pbf7mdmkpq6046h253iswayw-perl5.29.4-Tk-804.034
/nix/store/5lm1nhd4pbf7mdmkpq6046h253iswayw-perl5.29.4-Tk-804.034/lib/perl5/site_perl/5.29.4/darwin-2level/Tk/pTk/mkVFunc: interpreter directive changed from "/usr/bin/perl -w -I/nix/store/kmxhpslk6cfags1ql6x5w701j5slw05h-perl-5.29.4/lib/perl5/site_perl -I/nix/store/kmxhpslk6cfags1ql6x5w701j5slw05h-perl-5.29.4/lib/perl5/site_perl -I/nix/store/kmxhpslk6cfags1ql6x5w701j5slw05h-perl-5.29.4/lib/perl5/site_perl -I/nix/store/5lm1nhd4pbf7mdmkpq6046h253iswayw-perl5.29.4-Tk-804.034/lib/perl5/site_perl" to "/nix/store/kmxhpslk6cfags1ql6x5w701j5slw05h-perl-5.29.4/bin/perl -w -I/nix/store/kmxhpslk6cfags1ql6x5w701j5slw05h-perl-5.29.4/lib/perl5/site_perl -I/nix/store/kmxhpslk6cfags1ql6x5w701j5slw05h-perl-5.29.4/lib/perl5/site_perl -I/nix/store/kmxhpslk6cfags1ql6x5w701j5slw05h-perl-5.29.4/lib/perl5/site_perl -I/nix/store/5lm1nhd4pbf7mdmkpq6046h253iswayw-perl5.29.4-Tk-804.034/lib/perl5/site_perl"
/nix/store/5lm1nhd4pbf7mdmkpq6046h253iswayw-perl5.29.4-Tk-804.034/lib/perl5/site_perl/5.29.4/darwin-2level/Tk/pTk/Tcl-pTk: interpreter directive changed from "/usr/bin/perl -w -I/nix/store/kmxhpslk6cfags1ql6x5w701j5slw05h-perl-5.29.4/lib/perl5/site_perl -I/nix/store/kmxhpslk6cfags1ql6x5w701j5slw05h-perl-5.29.4/lib/perl5/site_perl -I/nix/store/kmxhpslk6cfags1ql6x5w701j5slw05h-perl-5.29.4/lib/perl5/site_perl -I/nix/store/5lm1nhd4pbf7mdmkpq6046h253iswayw-perl5.29.4-Tk-804.034/lib/perl5/site_perl" to "/nix/store/kmxhpslk6cfags1ql6x5w701j5slw05h-perl-5.29.4/bin/perl -w -I/nix/store/kmxhpslk6cfags1ql6x5w701j5slw05h-perl-5.29.4/lib/perl5/site_perl -I/nix/store/kmxhpslk6cfags1ql6x5w701j5slw05h-perl-5.29.4/lib/perl5/site_perl -I/nix/store/kmxhpslk6cfags1ql6x5w701j5slw05h-perl-5.29.4/lib/perl5/site_perl -I/nix/store/5lm1nhd4pbf7mdmkpq6046h253iswayw-perl5.29.4-Tk-804.034/lib/perl5/site_perl"
gzipping man pages under /nix/store/42b06ysckn8p0fn2aiyly8k9kq6fdm72-perl5.29.4-Tk-804.034-devdoc/share/man/
strip is /nix/store/g5r4apl0za012ffs6ladinwa5w0m1l3k-cctools-binutils-darwin/bin/strip
patching script interpreter paths in /nix/store/42b06ysckn8p0fn2aiyly8k9kq6fdm72-perl5.29.4-Tk-804.034-devdoc
cannot build derivation '/nix/store/82mvf3ia7r6jfrfqch9sxvqjnlv6d6rn-perl5.29.4-App-ClusterSSH-4.13.2.drv': 2 dependencies couldn't be built
error: build of '/nix/store/82mvf3ia7r6jfrfqch9sxvqjnlv6d6rn-perl5.29.4-App-ClusterSSH-4.13.2.drv' failed

@ryantm
Copy link
Member

ryantm commented Apr 6, 2019

@GrahamcOfBorg build perlPackages.ClusterSSH

@ryantm
Copy link
Member

ryantm commented Apr 6, 2019

@GrahamcOfBorg build perldevelPackages.ClusterSSH

@aither64
Copy link
Contributor Author

Sorry for the delay. I've rebased it on nixos-unstable, added meta.broken for perl 5.29 and restricted platforms to x86_64-linux based on the build failures. Is it suitable for merging? I have no idea what to do about those build failures at this time.

@herrwiese
Copy link
Contributor

This is obsoleted by #65043 and should be closed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants