Mail Archives: djgpp/2000/10/21/20:06:08
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:
<ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/shar42cb.zip>
<ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/shar42cd.zip>
<ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/shar42cs.zip>
- 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 <bug-gnu-utils AT gnu DOT org>.
Send suggestions and bug reports concerning the DJGPP port to
comp.os.msdos.djgpp or <djgpp AT delorie DOT com>.
Enjoy.
Guerrero, Juan Manuel <st001906 AT hrz1 DOT hrz DOT tu-darmstadt DOT de>
- Raw text -