tis 2012-07-03 klockan 23:09 -0300 skrev Samuel Thibault:
> Mattias Ellert, le Tue 03 Jul 2012 06:44:19 +0200, a écrit :
> > Under what conditions does hurd return EAGAIN from rename()
>
> It's not supposed to, and I've never seen it do that. Is the rename
> perhaps running under fakeroot? It'd be good that you provide the steps
> to reproduce the issue.
>
> Samuel
I also had an idea that it was fakeroot that was doing something strange
since the failure happened during a package build on the buildd server.
But it also fails when I try running the test suite directly from the
command line in the chroot on the porterbox (strauss) without using
fakeroot:
PATH=.:$PATH ./myproxy-test -startserver -generatecerts
The steps to reproduce it is to try to build the myproxy package on
hurd. You can see from the build logs in the buildd errors like:
Unable to rename /tmp/D_RiobUAO6/.globus/certificates.test.23341.23511/
to /tmp/D_RiobUAO6/.globus/certificates.test.23341/
Resource temporarily unavailable
The code that fails is in myproxy.c lines 605-610 in myproxy.c:
if (rename(tmp_cert_dir, cert_dir) < 0) {
verror_put_errno(errno);
verror_put_string("Unable to rename %s to %s\n",
tmp_cert_dir, cert_dir);
goto error;
}
The "Resource temporarily unavailable" is because errno is set to EAGAIN.
Mattias
Attachment:
signature.asc
Description: This is a digitally signed message part