Hi,

While using autoreconf on a project I came across a cvs error:
> cvs [init aborted]: cannot get working directory: Permission denied
> cvs [checkout aborted]: cannot get working directory: Permission denied
> find: `archive': No such file or directory
> find: `archive': No such file or directory
> autopoint: *** infrastructure files for version 0.16.1 not found; this is 
> autopoint from GNU gettext-tools 0.17
> autopoint: *** Stop.
> autoreconf: autopoint failed with exit status: 1

I was able to get the same error if I tried to initialize a repository:
> h@nebula:~/foo> cvs init
> cvs [init aborted]: cannot get working directory: Permission denied

Upon investigation the problem here is that one of the parent
directories on the server leading to my home directory are not readable
- there is no read flag but the executable flag is set. This setting
allows me to access my home directories but forbids me to list all the
available home directories on the machine.

I was using cvs 1.12.13. The error happens to be due to cvs checking the
readability of all the parent directories.

The attached patch helped me to get over this problem. This patch forces
cvs to use the system's `getcwd()` function. I'm not sure if it is
clean, but it worked as a quick hack for me. Hence, I'm submitting it here.

--
Sree Harsha Totakura
diff -ur cvs-1.12.13/lib/getcwd.c cvs-1.12.13.mine/lib/getcwd.c
--- cvs-1.12.13/lib/getcwd.c	2005-09-19 23:12:20.000000000 +0200
+++ cvs-1.12.13.mine/lib/getcwd.c	2012-12-05 18:50:16.140954000 +0100
@@ -30,7 +30,7 @@
 #include <stdbool.h>
 #include <stddef.h>
 
-#include <fcntl.h> /* For AT_FDCWD on Solaris 9.  */
+//#include <fcntl.h> /* For AT_FDCWD on Solaris 9.  */
 
 #ifndef __set_errno
 # define __set_errno(val) (errno = (val))
Only in cvs-1.12.13.mine/lib: getcwd.c~
_______________________________________________
Bug-cvs mailing list
Bug-cvs@nongnu.org
https://lists.nongnu.org/mailman/listinfo/bug-cvs

Reply via email to