TOPIC Several Apple Enterprise and NeXT products included the GNU 1.11.2 version of tar, which for certain operations did not handle dates after 1999 properly. A newer version of tar based on the GNU tar-1.12 source has been provided in Apple patches for many affected products on Mach, Solaris, and HP-UX platforms. This newer version of tar, while correcting all known Year 2000 issues, may have unwanted side effects for some users. In an effort to minimize these side effects, Apple made some modifications to the standard version of GNU tar-1.12. This document describes the changes Apple made to the GNU tar-1.12 source. In addition, it discusses potential problems Apple users may encounter using GNU tar-1.12 on older systems, and provides workarounds for them. DISCUSSION
Which products and patches are affected? The Apple Enterprise Software product patches which include an updated version of gnutar include: Apple modifications to tar GNU tar-1.12 expects a more recent version of the system header file 'stat.h' than the one shipped with OPENSTEP and NeXTSTEP. Some of the symbols defined in stat.h have changed, including the symbolic link symbol, formerly _S_IFLNK, now S_ISLNK. A test in the file tar-1.12/src/system.h in the GNU source distribution (lines 144-148) defines 'lstat' to be 'stat' if the newer symbolic link symbol is not found, with the result that symbolic links are not processed properly:
#include <sys/stat.h>
#include <sys/stat.h>
This was the only modification made to the GNU tar 1.12 source files for Apple's patches. Problems which may be encountered due to changes between GNU tar-1.11.2 and GNU tar-1.12 When processing input being read from a pipe, the older version of tar read only the contents of the .tar file and then exited. But tar-1.12 continues to read from the pipe (discarding the data) until the pipe is closed, even after the .tar file ends. Because of this change, some third-party OPENSTEP and NeXTSTEP applications may not be fully compatible with the gnutar. This is known to affect Quantrix.app and Concurrence.app. Information on a Quantrix-specific workaround is available as TIL article 70128 . For other applications, you may need to copy the original gnutar from your installation media and reinstall it on your system. You may need to edit the application binary or an application-specific configuration file to force the application to use this version of gnutar. Building GNU tar-1.12 on NeXTSTEP or OPENSTEP In order to build GNU tar-1.12 on NeXTSTEP or OPENSTEP, you must modify one of the files which is automatically generated by the 'configure' script included in the GNU tar-1.12 distribution. To make the modification: 1. Run 'configure' 2. Using a text editor, make the following change in the config.h file: Change: /*#undef HAVE_UNION_WAIT */ To: #define HAVE_UNION_WAIT 1 3. Run 'make' to compile the package. Consult the INSTALL documentation included in the GNU tar-1.12 distribution for additional information on building the package. |
Document Information | |
Product Area: | Apple Software |
Category: | OPENSTEP |
Sub Category: | General Topics |
Keywords: |
Copyright © 2000 Apple Computer, Inc. All rights reserved.