From: UnixOS2 Archive To: "UnixOS2 Archive" Date: Sun, 27 Apr 2003 14:03:35 EST-10EDT,10,-1,0,7200,3,-1,0,7200,3600 Subject: [UnixOS2_Archive] No. 108 ************************************************** Saturday 26 April 2003 Number 108 ************************************************** Subjects for today 1 Symlinks package : Dave Saville" **= Email 1 ==========================** Date: Sun, 27 Apr 2003 12:09:23 +0100 (BST) From: "Dave Saville" Subject: Symlinks package Just been looking at the package of Marty Amodeo who has added symbolic link support to the EMX libraries, and many of the common utilities. It utilizes OS/2 extended attributes to emulate symbolic links. http://mamodeo.dyndns.org/emx_link_support_04142003.zip Here is the readme: Soft File Link Support for EMX ==================================== (Released 4/14/2003 by Marty Amodeo) This package contains the GNU File Utilities recompiled with support for EA-"emulated" soft file links. These file utilities should be able to create and handle any soft links you create using LN. Included are the replacement EMX DLLs to add support for these soft file links to existing and new EMX programs. Also included are the source files and changes that went into this project. These can be copied, used, modified, and distributed as desired insofar as compliance with the original code licensing is upheld (GPL for the GNU programs and the EMX licensing terms for those appropriate pieces of code). PLEASE NOTE that if you have any symlinks hanging around generated from a prior release of this code, they will no longer be read properly, as the EA format was changed slightly to become more compliant with the way the rest of OS/2 handles EAs. Please delete and re-create any existing links. In the emx_changes directory, you'll find the following files: inc/sys/stat.h: This is needed to support IS_LNK and the link-related functions in programs that you are going to compile. This was used to build the GNU file utilities included in this package. src/fileio.c: This file was modified from the original EMX distribution to handle soft links properly in basic file operations. The included EMX DLLs were built with these changes. src/linkfix.c: This is used to build the linkfix library that is used to define the symlink and readlink functions. The GNU file utilities were linked with this library. lib/linkfix.a, lib/linkfix.lib: This is the library that you must link your applications with to support the symlink and readlink functions. Usage: An application can make immediate proper use of soft file links if it meets all of the following conditions: * It is an EMX application * It is dynamically linked to the EMX DLLs * All file handling goes through the C runtime libraries * It makes no use of the symlink or readlink functions or IS_LNK macro An application can make proper use after recompiling with the new stat.h and linking with the linkfix library if it uses the additional functions and macros as long as the other conditions also still apply. Where Do We Go From Here?? I need your help. I need you to build applications against these new headers and libraries and tell me if these applications behave properly with symlinks. Specifically, building a SHELL such as BASH or PDKSH would be extremely helpful and would give us an environment where these symlinks could be quite useful. If you have any feedback, please contact mamodeo at stny.rr.com. -- Regards Dave Saville