home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 11 Util / 11-Util.zip / SHAR324X.ZIP / README < prev    next >
Text File  |  1990-05-21  |  8KB  |  186 lines

  1. Here is shar 3.24, an updated version of shar 3.11, derived from 'shar2'.
  2. This offering is the work of many people. Lately, rhg@CPS.COM (Richard H.
  3. Gumpertz) made significant changes to 3.11. colas@avahi.inria.fr (Colas
  4. Nahaboo) and I made enhancements to unshar. The change history appears
  5. at the bottom of this file.
  6.  
  7. This version's shar:
  8. 1) generates shell code which attempts to create missing directories
  9. 2) handle deviants sun, vax, pyramid, sequent, and SCO XENIX/UNIX
  10.    automatically; for system V systems I did not catch, add -DSYS5
  11.    to CFLAGS; for other BSD-like systems, add -DBSD42
  12. 3) if unsharing system's touch is Sys V compatible (allows touch -m),
  13.    the unshar process restores file dates
  14. 4) An archive name may be specified for includion in the header
  15.    of the shar files( -n switch)
  16. 5) allows automatic generation of "Submitted-by: who@where" &
  17.    "Archive-name: <name>/part##" headers
  18. 6) uses getopt; no good system library should be without a copy
  19.    but it is readily available (like look in unshar.c)
  20. 7) other chrome-plated junque
  21.  
  22. This version's unshar:
  23. 1) can change directory before unsharing
  24. 2) can unshar from standard in, from a collection of shars,
  25.    from a file containing multiple concatenated shars,
  26.    or a mixture of shar files and concatenated-shar files.
  27. 3) does not have an Social Security number.
  28.  
  29. ------------------------ shar  usage -----------------------------------
  30. shar: No input files
  31. shar 3.24
  32. usage: shar [ options ] file [ file1 ... ] ]
  33. -V  produce "vanilla" shars demanding little of the unshar environment
  34. -v  verbose messages OFF while executing
  35. -w  don't check with 'wc -c' after unpack
  36. -n  Name of archive (documentation)
  37. -a  Generate Submitted-by: & Archive-name: headers
  38. -s  override automatically determined submitter name
  39. -x  don't overwrite existing files
  40. -X  interactively overwrite existing files (NOT FOR NET SHARS)
  41. -b  treat all files as binary, use uuencode
  42. -t  treat all files as text (default)
  43. -C  compress and uuencode all files
  44. -p  allow positional parameter options. The options "-b" and "-t"
  45.     and "-C" may be embedded, and files to the right of the
  46.     option will be processed in the specified mode
  47. -M  mixed mode. Determine if the files are text or
  48.     binary and archive correctly.
  49. -P  use temp files instead of pipes in the shar file
  50. -c  start the shar with a cut line
  51. -f  restore by filename only, rather than path
  52. -dXXX   use XXX to delimit the files in the shar
  53. -oXXX   (or -o XXX) output to file XXX.01 thru XXX.nn
  54. -lXX    limit output file size to XXk bytes (but don't split files)
  55. -LXX    limit output file size to XXk bytes (may split files)
  56. -S      read files to wrap from stdin, ignoring argument line
  57.  
  58. The -S option reads filenames one per line from stdin; input
  59. format must be similar to 'find' output, except that if -p
  60. is specified, -b, -t or -C may be used (on lines by themselves)
  61. e.g., find . -type f -print | sort | shar -C -L50 -o /tmp/big
  62.  
  63. The 'o' option is required if the 'l' or 'L' option is used
  64. The 'n' option is required if the 'a' option is used
  65. The 'x' and 'L' options are incompatible
  66.  
  67. -a generates sharname/part## headers. If the -a argument contains
  68. a '/', then /patch is not appended
  69. The automatic submitter name is trivial: essentially `whoami`@`uname`
  70.  
  71. ------------------------ unshar usage -----------------------------------
  72. Unshar has no usage built in.  It has default actions when invoked
  73. with no arguments (read from stdin).
  74.  
  75. Usage:     unshar [-c] [-C exit_line] [ -d directory ] [ file ] ...
  76.  
  77.      The -d flag tells unshar to change directory before unsharing
  78.  
  79.      It can unshar shar files concatenated in one file, with the
  80.      the "-c" command, which separates files by recognizing the
  81.      "exit 0" string at the beginning of a line
  82.  
  83.      (The -C string option allows you to specify this string, thus
  84.      -c is equivalent to -C "exit 0")
  85.  
  86.  
  87. --------------------- history -----------------------------------------
  88. Changes since 3.11: kudos to rhg@CPS.COM (Richard H. Gumpertz)
  89.  
  90. 1.  The -l switch still specifies a maximum size for the generated
  91.     shar files, but now it prevents files from spanning shar parts.
  92.     Shars generated using this method may be unpacked in any order.
  93.  
  94. 2.  The old -l switch functionality is precisely emulated by using the
  95.     the -L switch.  That is, archived files may be split across parts.
  96.     Shars generated using this method must still be unpacked in order.
  97.  
  98. 3.  The -C switch causes files to be compressed, then uuencoded.
  99.     Unpacking reverses the process.
  100.  
  101. 4.  The -P causes the shar to use temp files instead of pipes in
  102.     the unshar process.
  103.  
  104. 5.  The -f causes files to be resotred by name only (i.e., strip
  105.     directory portion of input filenames before placing the name
  106.     into the shar.
  107.  
  108.  
  109. Changes since 3.20: kudos to colas@avahi.inria.fr (Colas Nahaboo)
  110.  
  111. 1.  The Archived-name: header no longer uses "/part" if there is
  112.     a "/" in the -n name.  Thus
  113.         -n xyzzy                     procduces:
  114.                                      xyzzy/part01
  115.                                      xyzzy/part02
  116.  
  117.         -n xyzzy/patch               procduces:
  118.                                      xyzzy/patch01
  119.                                      xyzzy/patch02
  120.  
  121.         -n xyzzy/patch01.            procduces:
  122.                                      xyzzy/patch01.01
  123.                                      xyzzy/patch01.02
  124. 2.  The Archive-name part number other than part01 had no leading zero
  125.     in the number.
  126.  
  127. 3.  The "Submitted-by:" header was missing the hyphen (minus for olde
  128.     UNIX hackres).
  129.  
  130. 4.  The unshar program may now unshar a whole mailbox or concatenation
  131.     of shar files.
  132.  
  133.     -C "string" looks for "string" at the beginning of the line to
  134.        break the file into individual shar files
  135.     -c is equivalent to -C "exit 0"
  136.  
  137.     This of course will only work if there is something in the shar
  138.     file recognizable to terminate the shar.  Some shars dont have
  139.     "exit 0" at the end.  However, a clue: most/many .signatures have
  140.     "--" on a line right before them.
  141.  
  142. 5.  Unshar -d (change directory) no longer makes argv files unreachable.
  143.     I had never used the feature until the other day.  I guess the
  144.     author has used in only for unsharing from stdin.
  145.  
  146. Changes since 3.21: thanks to Adri Verhoef, <a3@rivm.UUCP>
  147.  
  148. 1.  Some vaxen do not run BSD.  I guess I knew this, but -er-
  149.     here is Adri's note:
  150. > Hi Warren,
  151. >
  152. >   I encountered a problem trying to get 'shar3.21' to compile on System V
  153. > on a vax.  Yes, can you believe it?  We run System V Release 3.0 on VAXen!
  154. > The shar3.21 code assumes that you are BSD if you're on a vax.  This is not
  155. > always true!  What I did to get the code compiled on System V, was:
  156. > (+) edit the Makefile and add -DSYS5 to CFLAGS.
  157. > (+) edit all the C-source files to circumcise compiler warnings
  158. >     ("SYS5 redefined").
  159. >
  160.  
  161. He made a suggestion about having a localize.sh edit a distribution
  162. Makefile, but for now, I'll just suggest you add -DSYS5 to CFLAGS
  163. manually.
  164.  
  165. 2.  jhd@irfu.se (Jan Dj{rv, sorry about the screwed up character
  166.     translation, Jan) wrote man pages.  Thanks!
  167.  
  168. Changes since 3.22: thanks to Dennis Boylan <dennis@nanovx>
  169.  
  170. 1.  The new -S option allows the list of files to be packed
  171.     to be read from the standard input rather than from the
  172.     command line.
  173.  
  174. 2.  A few purist checks were made to ensure fork() or malloc()
  175.     doesn't fail and excite the "if 20 hours of your time is
  176.     free then why isn't 200?" crowd (who probably will never see
  177.     this revision anyway :-))
  178.  
  179. Changes since 3.23:
  180.  
  181. 1.  The -V mode was added.
  182.  
  183. 2.  Altos doesn't like the '@' in filenames.  The filename format
  184.     was changed.  Thanks to rhg@cps.com.
  185.  
  186.