Message-Id: <200010212356.TAA22622@delorie.com> From: "Juan Manuel Guerrero" Organization: Darmstadt University of Technology To: djgpp-announce AT delorie DOT com Date: Sat, 21 Oct 2000 19:44:26 +0200 Content-type: text/plain; charset=US-ASCII Subject: ANNOUNCE: DJGPP port of GNU shar utilities 4.2c CC: st001906 AT HRZ1 DOT HRZ DOT TU-Darmstadt DOT De Reply-To: djgpp AT delorie DOT com This is a port of GNU Shar utilities 4.2c to MSDOS/DJGPP. The binary, docs and source package can be downloaded from SimTel.NET and mirrors: - Changes needed for NLS support with DJGPP. - All other changes concern the treatement of the usual MSDOS specific issues: - fork/pipe replacement. - binary/text file distinction. - path separator (semi-colon instead of colon) and dir separator (mixed backslash and slash) issue. - no multiple dots in a file name. The programs (shar, unshar, uuencode and uudecode) will always read and write files in binary mode, if possible. All changes I have done against the original GNU distribution are documented in the diffs file stored in the djgpp subdir of the source package. Some comments: 1) If you do *not* know what a shar file or shell archive is you will ***not*** need this package at all. 2) Shar utilities is a collection of programs to preparing files for transmission by electronic mail services. `shar' makes so-called shell archives out of many files preparing them for transmission and `unshar' helps unpacking shell archives after reception. `uuencode' prepares a file for transmission over an electronic channel which ignores or otherwise mangles the eight bit (high order bit) of bytes. `uudecode' does the converse transformation. 3) Shar files or shell archives are shell scripts containing data that will be extracted from them. This implies that you will need **at least** bash installed to run the script. You will also need sed to unshar a shell archive and probably you will need wc from fileutils for computing the "checksum" of the files contained in the shar file. 4) If you try to run a shar file created on some unix machine you will probably get error messages looking similar to this one: shar: Extracting "CHANGES" (900 characters) sdbm.shar: sed: command not found sdbm.shar: wc: command not found In this particular case the shar archive is called sdbm.shar (of course, your shar archive will have a different name). The shell script tries to extract a file called CHANGES but this is not possible because the sed and the wc programms can not be found. This is because a shar archive usualy includes a line defining the %PATH% and this definition will not work on MSDOS/WIN9X (unix uses colon instead of semi-colon as path separator and do not know about drive letters, etc...). To solve this problem edit the shell script and look for a line similar to this one: PATH=/bin:/usr/bin:/usr/ucb ; export PATH Insert the '#' character in front of the line: # PATH=/bin:/usr/bin:/usr/ucb ; export PATH Now the %PATH% defined in your autoexec.bat will be used and the shell script will work and find sed and the other needed programms. If the shar archive contains text files another error will apear: shar: Extracting "CHANGES" (900 characters) shar: "CHANGES" unpacked with wrong size! The files contained in a shar archive are extracted by sending it text to sed and redirecting sed's output to a file with the appropiate file name. When redirecting stdout to a file, MSDOS uses 'CRLF' as EOL instead of 'lf' as unix does. This implies that the wc command will count more bytes in the created file that in the original unix file contained in the shar archive. All this difficulties can **not** be solved with this port and are not bugs of the port. All this implies that you can **usualy** ignore the above error message triggerd by the different EOL in MSDOS and UNIX. Send sharutils specific bug reports to . Send suggestions and bug reports concerning the DJGPP port to comp.os.msdos.djgpp or . Enjoy. Guerrero, Juan Manuel