Skip to content

cvs: build with openssh#467408

Closed
joshuakb2 wants to merge 1 commit intoNixOS:masterfrom
joshuakb2:fix-cvs
Closed

cvs: build with openssh#467408
joshuakb2 wants to merge 1 commit intoNixOS:masterfrom
joshuakb2:fix-cvs

Conversation

@joshuakb2
Copy link

This change adds openssh as a dependency of cvs and builds cvs with a fully qualified path to the ssh binary it should use. Without openssh, cvs tries to use rsh to access remote repositories, so other modern distributions (Ubuntu for example) specify something like --with-rsh=/usr/bin/ssh when configuring cvs.

I tried to get this change introduced a while back in #347374, but it must've gotten lost in the weeds. I've been using a custom overlay all this time so I never noticed the standard cvs package still can't use ssh.

Although this pull request has the same end goal as the previous one, I think this one is a much better approach.

Things done

  • Built on platform:
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • Tested, as applicable:
  • Ran nixpkgs-review on this PR. See nixpkgs-review usage.
  • Tested basic functionality of all binary files, usually in ./result/bin/.
  • Nixpkgs Release Notes
    • Package update: when the change is major or breaking.
  • NixOS Release Notes
    • Module addition: when adding a new NixOS module.
    • Module update: when the change is significant.
  • Fits CONTRIBUTING.md, pkgs/README.md, maintainers/README.md and other READMEs.

Add a 👍 reaction to pull requests you find important.

Without openssh, cvs tries to use rsh to access remote repositories,
and other modern distributions (Ubuntu for example) build with openssh.
@nixpkgs-ci nixpkgs-ci bot added 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux. 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 12.first-time contribution This PR is the author's first one; please be gentle! 9.needs: reviewer This PR currently has no reviewers requested and needs attention. labels Dec 3, 2025
@tomfitzhenry
Copy link
Contributor

other modern distributions (Ubuntu for example) specify something like --with-rsh=/usr/bin/ssh when configuring cvs

Do you have a link for this? That'll make it easier to have confidence this'll work.

@joshuakb2
Copy link
Author

Here's the diff debian applies to the latest version of their cvs package: http://deb.debian.org/debian/pool/main/c/cvs/cvs_1.12.13+real-30.diff.gz

You can see that they add --with-rsh=/usr/bin/ssh, and Ubuntu does the same but I had a harder time accessing ubuntu package sources than debian's.

I checked what Arch does with their cvs package, and they actually don't add this configure flag. Then I checked Fedora, and they do set the default to ssh. So basically the distros I've used before configure with ssh, but some modern and popular distros do not.

Maybe it should be left as is, then. At runtime cvs will use whatever is specified in the CVS_RSH environment variable if it's present. I just expected it to work like it had before for me out of the box, but maybe some people actually do still use it with rsh and this change would screw them up. I've just never done so.

@joshuakb2
Copy link
Author

Considering that arch doesn't build with openssh and that it's relatively easy to get cvs to use openssh by changing one environment variable, I'm closing this pull request.

@joshuakb2 joshuakb2 closed this Dec 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

9.needs: reviewer This PR currently has no reviewers requested and needs attention. 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux. 12.first-time contribution This PR is the author's first one; please be gentle!

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants