-R is not supported when not run through libtool. For linking the
database backend this is no problem as that is done with libtool
but for detection of things like PQisthreadsafe, PQputCopyData etc
from configure this doesn't work. So we work around that problem
using a special LFLAGS variable which is only used in configure
and which is not used outside configure.
As it seems B_ISSPACE is much wider then I thought it would
be as I only wanted to remove both spaces and tabs but that
seems to break the BAT protocol. So lets backout that patch.
Ben Walton [Sun, 18 Sep 2011 23:46:14 +0000 (19:46 -0400)]
Update auth troubleshooting URL to use MANUAL_AUTH_URL macro
Now that we have a macro for the currently preferred help resource for
use in troubleshooting authentication problem, remove the direct URL
string from help text and replace it with the macro. This will make
future URL changes simpler.
Signed-off-by: Ben Walton <bwalton@artsci.utoronto.ca>
Ben Walton [Sun, 18 Sep 2011 23:46:13 +0000 (19:46 -0400)]
Define MANUAL_AUTH_URL in baconfig.h
This value will reference the currently applicable Manual URL for
authentication troublshooting. Currently the same URL is referenced
in multiple files. This will allow updating them all (save for .po
translation files) with a single change.
Signed-off-by: Ben Walton <bwalton@artsci.utoronto.ca>
When the OS reports it doesn't support xattr we clear
either the SAVE or RESTORE native xattr flag. This way
we only test once if a particular filesystem has xattr
support and ignore it for any further file until we
switch filesystems.
When we now encounter a restore error for an ACL due to the
fact ACL support is not enabled on a filesystem we clear
the BACL_FLAG_RESTORE_NATIVE flag so we don't try any other
restores of ACLs on the same filesystem. This saves us a
lot of overhead while we know if one fails due to no support
all the others will too. We do count the errors so the restore
report will show how many ACLs couldn't be restored. This same
algoritm is already implemented for saving ACLs.
As it seems ENOTSUP is defined as EOPNOTSUPP on Linux. The manpages says
certain functions return ENOTSUP while they return EOPNOTSUPP because
the other doesn't really exist. So we have to do some more magic,
restored the old acl errno logic which is somewhat cleaner now
that everything except for IRIX seems to not adhere to POSIX and use
EOPNOTSUPP (which is according to POSIX only valid for a socket).
Added same kind of logic to xattr code as on OSX the xattr functions
are supposed to return ENOTSUP and not EOPNOTSUPP which Linux is
returning there. What a mess trying to write portable code when manpages
just cannot be trusted. Hopefully this is the end of it.
Change error checking from os specific to generic.
As ENOSYS, ENOTSUP and EOPNOTSUPP are POSIX errors defined on all
platforms we no longer check for an OS specific error but allow
any of the 3 errors to give us the feedback that acls are not supported.
This is cleaner anyway.
As it seems Linux doesn't comply to its own manpages.
It seems that xattr functions return EOPNOTSUPP as errno and not ENOTSUP
as they are supposed todo. As both errno are POSIX anyway we allow both.
EOPNOTSUPP is only valid as error on sockets but hey who cares about
standard like POSIX.