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/eggert 26 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]>