Alexandre Oliva requested that I post this message to amanda-users.
This is regarding the tar problem that I wrote here about.
Here is the message I got from the GNU tar folks, along with a patch.
Note that he couldn't duplicate it on Solaris (which doesn't use GNU
libc) but that it occured for me on two glibc platforms.
-- John
- Forwarded message from Paul Eggert [EMAIL PROTECTED] -
X-Addr-Extension: saved
Delivered-To: [EMAIL PROTECTED]
Resent-To: [EMAIL PROTECTED]
Resent-From: John Goerzen [EMAIL PROTECTED]
Resent-Date: 04 Nov 2000 11:10:44 -0500
X-Addr-Extension:
Delivered-To: [EMAIL PROTECTED]
Date: Fri, 3 Nov 2000 09:39:38 -0800 (PST)
From: Paul Eggert [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
In-reply-to: [EMAIL PROTECTED]
([EMAIL PROTECTED])
Subject: Re: Exclusions not working
Resent-Message-Id: [EMAIL PROTECTED]
I can't reproduce the problem on Solaris with GNU tar 1.13.18 using
the following scenario. Is this scenario the right one?
$ mkdir -p spool/postfix/private
$ touch spool/postfix/private/file
$ echo './spool/postfix/private/*' x
$ gtar -cf /tmp/tar --exclude-from=x .
$ gtar -tvf /tmp/tar
drwxrwxr-x eggert/eggert 0 2000-11-03 09:29:33 ./
drwxrwxr-x eggert/eggert 0 2000-11-03 09:27:41 ./spool/
drwxrwxr-x eggert/eggert 0 2000-11-03 09:27:41 ./spool/postfix/
drwxrwxr-x eggert/eggert 0 2000-11-03 09:27:49 ./spool/postfix/private/
-rw-rw-r-- eggert/eggert26 2000-11-03 09:28:01 ./x
Possibly that is a bug in your GNU C library. Please try using GNU
tar 1.13.18 ftp://alpha.gnu.org/gnu/tar/ with the following patch;
it works around the glibc bug. If that doesn't work, please send a
standalone test case.
2000-11-02 Paul Eggert [EMAIL PROTECTED]
* lib/fnmatch.c: Do not comment out all the code if we are
using the GNU C library, because in some cases we are
replacing buggy code in the GNU C library itself.
2000-10-30 Paul Eggert [EMAIL PROTECTED]
* lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
===
RCS file: lib/fnmatch.c,v
retrieving revision 1.2
retrieving revision 1.4
diff -pu -r1.2 -r1.4
--- lib/fnmatch.c 2000/10/24 06:18:37 1.2
+++ lib/fnmatch.c 2000/11/03 00:23:21 1.4
@@ -27,22 +27,10 @@
#include fnmatch.h
#include ctype.h
-
-/* Comment out all this code if we are using the GNU C Library, and are not
- actually compiling the library itself. This code is part of the GNU C
- Library, but also included in many other GNU distributions. Compiling
- and linking in this code is a waste when using the GNU C library
- (especially if it is a shared library). Rather than having every GNU
- program understand `configure --with-gnu-libc' and omit the object files,
- it is simpler to just do this in the source for each such file. */
-
-#if defined _LIBC || !defined __GNU_LIBRARY__
-
-
# if defined STDC_HEADERS || !defined isascii
# define IN_CTYPE_DOMAIN(c) 1
# else
-# define IN_CTYPE_DOMAIN(c) isascii(c)
+# define IN_CTYPE_DOMAIN(c) isascii (c)
# endif
# define ISUPPER(c) (IN_CTYPE_DOMAIN (c) isupper (c))
@@ -61,7 +49,9 @@ fnmatch (const char *pattern, const char
register char c;
A
/* Note that this evaluates C many times. */
-# define FOLD(c) ((flags FNM_CASEFOLD) ISUPPER (c) ? tolower (c) : (c))
+# define FOLD(c) ((flags FNM_CASEFOLD) ISUPPER ((unsigned char) (c)) \
+ ? tolower ((unsigned char) (c)) \
+ : (c))
while ((c = *p++) != '\0')
{
@@ -238,5 +228,3 @@ fnmatch (const char *pattern, const char
# undef FOLD
}
-
-#endif /* _LIBC or not __GNU_LIBRARY__. */
- End forwarded message -
--
A
John Goerzen [EMAIL PROTECTED] www.complete.org
Sr. Software Developer, Progeny Linux Systems, Inc.www.progenylinux.com
#include std_disclaimer.h [EMAIL PROTECTED]