home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / sharutils-4.1-src.tgz / tar.out / fsf / sharutils / README.OLD < prev    next >
Text File  |  1996-09-28  |  11KB  |  274 lines

  1. This file last revised Sat Aug 4 17:15:01 CDT 1990
  2.  
  3. Here is shar 3.52, an updated version of shar 3.49, derived from 'shar2'.
  4. This offering is the work of many people.  Thanks to wht@n4hgf.Mt-Park.GA.US
  5. (Warren Tucker), rhg@CPS.COM (Richard H. Gumpertz), colas@avahi.inria.fr
  6. (Colas Nahaboo), bill@netagw.com (Bill Aten), marks@rex.cs.tulane.edu, and
  7. maaaany others.
  8.  
  9. This version's shar:
  10. 1) generates shell code which attempts to create missing directories
  11. 2) generates shell code which will force overwriting of files when passed
  12.    the '-c' option.
  13. 3) allows entire directories to be archived
  14. 4) handle deviants sun, vax, pyramid, sequent, and SCO XENIX/UNIX
  15.    automatically; for system V systems I did not catch, add -DSYS5
  16.    to CFLAGS; for other BSD-like systems, add -DBSD42
  17. 5) if unsharing system's touch is Sys V compatible (allows touch -m),
  18.    the unshar process restores file dates (-m switch)
  19. 6) An archive name may be specified for inclusion in the header
  20.    of the shar files (-n switch)
  21. 7) allows automatic generation of "Submitted-by: who@where" &
  22.    "Archive-name: <name>/part##" headers
  23. 8) uses getopt; no good system library should be without a copy
  24.    but it is readily available (like look in unshar.c)
  25. 9) includes other chrome-plated bells, whistles, and junque
  26.  
  27. This version's unshar:
  28. 1) can change directory before unsharing
  29. 2) can unshar from standard in, from a COLLECTION of shars,
  30.    from a file containing multiple concatenated shars,
  31.    or a mixture of shar files and concatenated-shar files.
  32. 3) can pass the '-c' option on to the script being extracted.
  33. 4) does not have a Social Security number.
  34.  
  35. ------------------------ shar  usage -----------------------------------
  36. shar 3.52
  37. usage: shar [ options ] file ...
  38.        shar -S [ options ]
  39. -V  produce "vanilla" shars demanding little of the unshar environment
  40. -v  verbose messages OFF while executing
  41. -m  restore file modification dates & times with "touch" commands
  42. -w  don't check with 'wc -c' after unpack
  43. -a  generate Submitted-by: & Archive-name: headers
  44. -nXXX   use XXX as the name of the archive (documentation)
  45. -s  override automatically determined submitter name
  46. -x  overwrite existing files without checking if they already exist
  47. -X  interactively overwrite existing files (NOT FOR NET SHARS)
  48. -B  treat all files as binary, use uuencode
  49. -T  treat all files as text (default)
  50. -C  compress and uuencode all files
  51. -bXX    pass -bXX (default 12) to compress when compressing (implies -C)
  52. -p  allow positional parameter options. The options "-B" and "-B"
  53.     and "-C" may be embedded, and files to the right of the
  54.     option will be processed in the specified mode
  55. -M  mixed mode. Determine if the files are text or
  56.     binary and archive correctly.
  57. -P  use temp files instead of pipes in the shar file
  58. -F  force the prefix character on every line (even if not required)
  59. -c  start the shar with a cut line
  60. -f  restore by filename only, rather than path
  61. -dXXX   use XXX to delimit the files in the shar
  62. -oXXX   (or -o XXX) output to file XXX.01 thru XXX.nn
  63. -lXX    limit output file size to XXk bytes (but don't split files)
  64. -LXX    limit output file size to XXk bytes (may split files)
  65. -S      read files to wrap from stdin, ignoring argument line
  66.  
  67. The -S option reads filenames one per line from stdin; input
  68. format must be similar to 'find' output, except that if -p
  69. is specified, -B, -T or -C may be used (on lines by themselves)
  70. e.g., find . -type f -print | sort | shar -C -l50 -o /tmp/big
  71.  
  72. The 'o' option is required if the 'l' or 'L' option is used
  73. The 'n' option is required if the 'a' option is used
  74.  
  75. -a generates sharname/part## headers. If the -a argument contains
  76. a '/', then /part is not appended
  77. The automatic submitter name is trivial: essentially `whoami`@`uname`
  78.  
  79. ------------------------ unshar usage -----------------------------------
  80. Unshar has no usage built in.  It has default actions when invoked
  81. with no arguments (read from stdin).
  82.  
  83. Usage:     unshar [ -d directory ] [ -c ] [ -e | -E exit_line ] [ files ... ]
  84.  
  85.       The -c flag is passed through to the shell as a parameter to the script
  86.       It can unshar shar files concatenated in one file, with the
  87.       the "-e" command, which separates files by recognizing the
  88.       "exit 0" string at the beginning of a line
  89.  
  90.       (The -E string option allows you to specify this string, thus
  91.       -e is equivalent to -E "exit 0")
  92.  
  93.       The -d flag tells unshar to change directory before unsharing
  94.  
  95. --------------------- history -----------------------------------------
  96. Changes since 3.11: kudos to rhg@CPS.COM (Richard H. Gumpertz)
  97.  
  98. 1.  The -l switch still specifies a maximum size for the generated
  99.     shar files, but now it prevents files from spanning shar parts.
  100.     Shars generated using this method may be unpacked in any order.
  101.  
  102. 2.  The old -l switch functionality is precisely emulated by using the
  103.     the -L switch.  That is, archived files may be split across parts.
  104.     Shars generated using this method must still be unpacked in order.
  105.  
  106. 3.  The -C switch causes files to be compressed, then uuencoded.
  107.     Unpacking reverses the process.
  108.  
  109. 4.  The -P causes the shar to use temp files instead of pipes in
  110.     the unshar process.
  111.  
  112. 5.  The -f causes files to be resotred by name only (i.e., strip
  113.     directory portion of input filenames before placing the name
  114.     into the shar.
  115.  
  116.  
  117. Changes since 3.20: kudos to colas@avahi.inria.fr (Colas Nahaboo)
  118.  
  119. 1.  The Archived-name: header no longer uses "/part" if there is
  120.     a "/" in the -n name.  Thus
  121.         -n xyzzy                     procduces:
  122.                                      xyzzy/part01
  123.                                      xyzzy/part02
  124.  
  125.         -n xyzzy/patch               procduces:
  126.                                      xyzzy/patch01
  127.                                      xyzzy/patch02
  128.  
  129.         -n xyzzy/patch01.            procduces:
  130.                                      xyzzy/patch01.01
  131.                                      xyzzy/patch01.02
  132. 2.  The Archive-name part number other than part01 had no leading zero
  133.     in the number.
  134.  
  135. 3.  The "Submitted-by:" header was missing the hyphen (minus for olde
  136.     UNIX hackres).
  137.  
  138. 4.  The unshar program may now unshar a whole mailbox or concatenation
  139.     of shar files.
  140.  
  141.     -C "string" looks for "string" at the beginning of the line to
  142.        break the file into individual shar files
  143.     -c is equivalent to -C "exit 0"
  144.  
  145.     This of course will only work if there is something in the shar
  146.     file recognizable to terminate the shar.  Some shars dont have
  147.     "exit 0" at the end.  However, a clue: most/many .signatures have
  148.     "--" on a line right before them.
  149.  
  150. 5.  Unshar -d (change directory) no longer makes argv files unreachable.
  151.     I had never used the feature until the other day.  I guess the
  152.     author has used in only for unsharing from stdin.
  153.  
  154. Changes since 3.21: thanks to Adri Verhoef, <a3@rivm.UUCP>
  155.  
  156. 1.  Some vaxen do not run BSD.  I guess I knew this, but -er-
  157.     here is Adri's note:
  158. > Hi Warren,
  159. >   I encountered a problem trying to get 'shar3.21' to compile on System V
  160. > on a vax.  Yes, can you believe it?  We run System V Release 3.0 on VAXen!
  161. > The shar3.21 code assumes that you are BSD if you're on a vax.  This is not
  162. > always true!  What I did to get the code compiled on System V, was:
  163. > (+) edit the Makefile and add -DSYS5 to CFLAGS.
  164. > (+) edit all the C-source files to circumcise compiler warnings
  165. >     ("SYS5 redefined").
  166.  
  167. He made a suggestion about having a localize.sh edit a distribution
  168. Makefile, but for now, I'll just suggest you add -DSYS5 to CFLAGS 
  169. manually.
  170.  
  171. 2.  jhd@irfu.se (Jan Dj{rv, sorry about the screwed up character
  172.     translation, Jan) wrote man pages.  Thanks!
  173.  
  174. Changes since 3.22: thanks to Dennis Boylan <dennis@nanovx>
  175.  
  176. 1.  The new -S option allows the list of files to be packed
  177.     to be read from the standard input rather than from the
  178.     command line.
  179.  
  180. 2.  A few purist checks were made to ensure fork() or malloc()
  181.     doesn't fail and excite the "if 20 hours of your time is
  182.     free then why isn't 200?" crowd (who probably will never see
  183.     this revision anyway :-))
  184.  
  185. Changes since 3.23:
  186.  
  187. 1.  The -V mode was added.
  188.  
  189. 2.  Altos doesn't like the '@' in filenames.  The filename format
  190.     was changed.  Thanks to rhg@cps.com.
  191.  
  192. Changes since 3.24:
  193.  
  194. 1.  Man pages were revised by gam@netcom (Gordon Moffet). Thanks.
  195.  
  196. 2.  When -L was specified, the "Starting ..." message was not
  197. produced on standard error (with or without -v).
  198.  
  199. 3.  When using -X, the 'not for net' warning was printed on standard
  200. output rather thsn standard error.
  201.  
  202. 4.  marks@rex.cs.tulane.edu reccommends adding -F 5000 to the load
  203.     line of unshar when using on XENIX 286 to avoid stack overflow
  204.     core dumps.  I added this information to an excellkent remake
  205.     of the Makefile by bill@netagw.com.
  206.  
  207. Changes since 3.25:
  208.  
  209. 1.  Fixed one minor bug with -a/-n.  The period supplied when a
  210.     slash appears in the -n name was omitted.  This is a hatefully
  211.     small bug to fix and reissue a whole release, but
  212.     a) several new names are on the sharlist now and they have
  213.        only 3.24 to work with,
  214.     b) this will surely sync us all up, and
  215.     c) I think it will put shar to bed for a while ("no known bugs
  216.        at this ti ... bus error core dumped").
  217.  
  218. Changes since 3.27:
  219.  
  220. 1.  The unshar-time test for a touch -m facility now greps for
  221.     'mmdd', not '[-amc]', making it more universally successful.
  222.  
  223. 2.  NOTE:  there is still a problem with -n arguments using
  224.     a 'x/y' construct, but I don't know how to properly generalize
  225.     it so you'll have to edit shars made with some uses of -a
  226.     with -n x/y.
  227.  
  228. 3.  This is surely my last work on this.  It does everything
  229.     I needed and more.  Thanks for all the help and suggestions.
  230.     It seems as though we didn't precipitate 'death of the shar'
  231.     after all :-) :-) :-).
  232.  
  233. Changes since 3.32:
  234.  
  235. 1.  Several bug fixes.
  236.  
  237. 2.  Inverted the meaning of '-x'; the new default is to NOT overwrite.
  238.  
  239. 3.  Added '-c' checking when unpacking so the recipient can force overwrites.
  240.  
  241. 4.  Made '-L' work even with files not being overwritten.
  242.  
  243. 5.  Added '-m' and changed the default behavior to not generate TOUCH commands.
  244.  
  245. 6.  Added '-F'; the default is to suppress the extra 'X' at the beginning of
  246.     each line unless it is needed (i.e., the first character of the line is
  247.     already 'X' or is a non-graphic).
  248.  
  249. 7.  Renamed '-b' and '-t' to '-B' and '-T', respectively.
  250.  
  251. 8.  Added '-bn' for use with compression (calls compress with -bn).
  252.  
  253. 9.  Renamed the temporary files used in unpacking from shar3_???_.tmp to
  254.     _shar_???_.tmp.
  255.  
  256. 10. Directories may now be passed to shar; a recursive directory walk is
  257.     performed.  This feature may be disabled by compiling with -DNO_WALKTREE.
  258.  
  259. Changes since 3.43:
  260.  
  261. 1.  Several more minor bug fixes.
  262.  
  263. 2.  Added support for BSD-style <sys/dir.h> and -ldir.
  264.  
  265. 3.  Added more usage directions to the shar header.
  266.  
  267. Changes since 3.49:
  268.  
  269. 1.  Added more support for Unix variations.
  270.  
  271. 2.  A few more very minor bug fixes.
  272.