For some reason rsync-2.6.4 compiled by me on HP-UX 11.23 in 64-bit
mode is adding extra path elements when running in server mode. This
is a new problem. It did not used to do that with older versions and
it does not do that with compilations on other systems.
$ rsync -a ewok::cadroot/release/bin/ .
$ ls
bin
Where did that extra directory come from? Testing with a different
machine works as expected.
$ rsync -a wookie::cadroot/release/bin/ .
$ ls
set_env
...more contents of bin not shown...
In the bad case I am getting an extra directory in the path. I don't
get this in other configurations. How can I debug this? I am only
seeing this problem on HP-UX. And of course that is the platform I am
trying to use.
Any hints on how to debug why this server mode is adding an extra
directory in the path?
Here is my configuration.
The machine ewok is an HP-UX machine. I set up an rsync server
running there using this configuration:
uid = nobody
gid = nogroup
[cadroot]
path = /mnt/tools
comment = CADROOT
Command to access the server:
rsync -avvvv ewok::cadroot/release/bin/ .
opening tcp connection to ewok port 873
opening connection using --server --sender -vvvvlogDtpr
. cadroot/release/bin/
(Client) Protocol versions: remote=29, negotiated=29
receiving file list ...
recv_file_name(bin)
recv_file_name(bin/set_env)
... lots of lines of files ...
The path that gets created is then ./bin/* and not ./*. There is an
extra ./bin/ in the path. That's not good.
But if I set up a different machine, in this case a Debian Gnu/Linux
amd64 running the Debian sid 64-bit 2.6.4 I get this result.
rsync -avvvv wookie::cadroot/release/bin/ .
opening tcp connection to wookie port 873
opening connection using --server --sender -vvvvlogDtpr
. cadroot/release/bin/
(Client) Protocol versions: remote=29, negotiated=29
receiving file list ...
recv_file_name(.)
recv_file_name(set_env)
... lots of lines of files ...
That is fine. The files are mapped to the right location and
everything works as I expect. As can be seen in the debug output
there is no extra 'bin' directory element. If I use 'ssh' and
remote
shell over to the broken machine then things work as expected.
$ rsync -a -e ssh ewok:/mnt/tools/cadroot/release/bin/ .
$ ls
set_env
...more contents of bin not shown...
I configured using the native HP ANSI C compiler like this:
./configure CC=cc CFLAGS='-Ae +DD64'
make
If I take that same code base and compile it on my Debian GNU/Linux
system I get a working result without the extra 'bin' directory. So
this must have some factor of outside influence that is causing this
difference in server side behavior.
Thanks
Bob
On Tue, May 03, 2005 at 05:26:10PM -0600, Bob Proulx wrote:> $ rsync -a ewok::cadroot/release/bin/ . > $ ls > binIs your shell stripping off trailing slashes? Try running a basic shell, such as /bin/sh and see if that makes a difference. You can also use the -vv option to display the command that rsync is sending to the remote daemon to see if the trailing slash is still there or not (2.6.4 mentions the command where earlier rsync versions did not). I'm doubtful that this is caused by rsync. One potential work-around: try adding a trailing dot after the slash: $ rsync -a ewok::cadroot/release/bin/. . ..wayne..