Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#1384 - Patch to devel/cvs for passing args in CVS_RSH; important for certain fakeroot builds with makepkg

Attached to Project: Arch Linux
Opened by Mike B (tehdely) - Monday, 06 September 2004, 06:09 GMT
Last edited by Judd Vinet (judd) - Wednesday, 08 September 2004, 19:57 GMT
Task Type Feature Request
Category Packages: Current
Status Closed
Assigned To dorphell (dorphell)
Architecture not specified
Severity Low
Priority Normal
Reported Version 0.7 Wombat
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 0
Private No

Details

Certain builds which rely upon CVS, and use SSH as the CVS_RSH, run into trouble when being run in a fakeroot environment with makepkg. The primary issue is that SSH insists on doing host key verification and storing keys in ~root/.ssh/known_hosts, which is of course impossible with fakeroot, and since ssh does NOT respect $HOME, there is no way to change this behavior without pointing it to a config file which disables this.

This requires an extra argument to SSH (two, actually). Unfortunately, CVS invokes all of CVS_RSH as one argument to exec, thus preventing you from passing any arguments to the desired RSH.

A patch has been aroudn since cvs-1.11 which fixes this behavior. An url to an explanation is: http://lists.gnu.org/archive/html/bug-cvs/2001-08/msg00118.html

A proper patch is available at http://delysid.frap.net/rsh-args.diff, or pasted below.

This _is_ an arch-specific issue as I would never have encountered it except for a specific circumstance involving fakerooted makepkg builds. If you could update the devel/cvs package to apply this diff, I would be one happy packager.

Diff:

diff -Naur orig/cvs-1.11.17/src/client.c cvs-1.11.17/src/client.c
--- orig/cvs-1.11.17/src/client.c 2004-04-26 09:57:53.000000000 -0500
+++ cvs-1.11.17/src/client.c 2004-09-06 02:21:48.000000000 -0500
@@ -4810,11 +4810,14 @@
sprintf (command, "%s server", cvs_server);

{
- const char *argv[10];
+ const char *argv[30];
const char **p = argv;

- *p++ = cvs_rsh;
-
+ /* Check for flags in CVS_RSH */
+ *p++ = strtok(cvs_rsh, " ");
+ while (*p = strtok(0, " ")) {
+ *p++;
+ }
/* If the login names differ between client and server
* pass it on to rsh.
*/
This task depends upon

Closed by  dorphell (dorphell)
Thursday, 23 September 2004, 00:32 GMT
Reason for closing:  Fixed

Loading...