which included commits to RCS files with non-trunk default branches. git-svn-id: svn://10.65.10.50/trunk@5403 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			234 lines
		
	
	
		
			9.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			234 lines
		
	
	
		
			9.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
| 1 UNZIPSFX
 | |
| 
 | |
|      unzipsfx  -  self-extracting  stub  for  prepending  to  ZIP
 | |
|      archives
 | |
| 
 | |
|      <name  of  unzipsfx+archive   combo>   [-cfptuz[ajnoqsCLV$]]
 | |
|      [file(s) ...] [-x xfile(s) ...]
 | |
| 
 | |
|      unzipsfx is a modified version of unzip designed  to  be
 | |
|      prepended  to  existing  ZIP archives in order to form self-
 | |
|      extracting archives.  Instead of taking its  first  non-flag
 | |
|      argument  to  be  the  zipfile(s)  to be extracted, unzipsfx
 | |
|      seeks itself under the name by  which  it  was  invoked  and
 | |
|      tests  or  extracts  the  contents  of the appended archive.
 | |
|      Because the executable stub adds bulk to  the  archive  (the
 | |
|      whole  purpose  of  which  is to be as small as possible), a
 | |
|      number of the regular version's less-vital capabilities have
 | |
|      been  removed.   Among these are the usage (or help) screen,
 | |
|      the listing and diagnostic functions (-l and -v), the  abil-
 | |
|      ity to decompress older compression formats (the ``reduce,''
 | |
|      ``shrink'' and ``implode''  methods),  and  the  ability  to
 | |
|      extract  to a directory other than the current one.  Decryp-
 | |
|      tion is supported as a compile-time  option  but  should  be
 | |
|      avoided  unless  the  attached  archive  contains  encrypted
 | |
|      files.
 | |
| 
 | |
|      Note that self-extracting archives made with unzipsfx are no
 | |
|      more  (or  less) portable across different operating systems
 | |
|      than is the unzip executable itself.   In  general  a  self-
 | |
|      extracting  archive  made  on  a particular Unix system, for
 | |
|      example, will only self-extract under  the  same  flavor  of
 | |
|      Unix.  Regular unzip may still be used to extract the embed-
 | |
|      ded archive as with any normal  zipfile,  although  it  will
 | |
|      generate  a harmless warning about extra bytes at the begin-
 | |
|      ning of the zipfile.
 | |
| 
 | |
| 
 | |
| 
 | |
| [file(s)]
 | |
| 
 | |
|           An optional list of archive members  to  be  processed.
 | |
|           Regular  expressions  (wildcards)  similar  to those in
 | |
|           Unix egrep(1) may be used to  match  multiple  members.
 | |
|           These wildcards may contain:
 | |
| 
 | |
|           *    matches a sequence of 0 or more characters
 | |
| 
 | |
|           ?    matches exactly 1 character
 | |
| 
 | |
|           [...]
 | |
|                matches any  single  character  found  inside  the
 | |
|                brackets;  ranges  are  specified  by  a beginning
 | |
|                character, a hyphen, and an ending character.   If
 | |
|                an  exclamation point or a caret (`!' or `^') fol-
 | |
|                lows the left bracket, then the range  of  charac-
 | |
|                ters within the brackets is complemented (that is,
 | |
|                anything except the characters inside the brackets
 | |
|                is considered a match).
 | |
| 
 | |
|           (Be sure to quote any character which  might  otherwise
 | |
|           be  interpreted  or  modified  by the operating system,
 | |
|           particularly under Unix and VMS.)
 | |
| 
 | |
| [-x xfile(s)]
 | |
| 
 | |
|           An optional list of archive members to be excluded from
 | |
|           processing.   Since wildcard characters match directory
 | |
|           separators (`/'), this option may be  used  to  exclude
 | |
|           any  files  which  are in subdirectories.  For example,
 | |
|           ``unzip foo *.[ch] -x */*'' would extract all C  source
 | |
|           files  in the main directory, but none in any subdirec-
 | |
|           tories.  Without the -x option, all C source  files  in
 | |
|           all directories within the zipfile would be extracted.
 | |
| 
 | |
| 2 Options
 | |
| 
 | |
|      unzipsfx supports the following unzip options:   -c  and
 | |
|      -p  (extract  to standard output/screen), -f and -u (freshen
 | |
|      and  update  existing  files  upon  extraction),  -t   (test
 | |
|      archive) and -z (print archive comment).  All normal listing
 | |
|      options (-l, -v and -Z) have been removed, but  the  testing
 | |
|      option (-t) may be used as a ``poor man's'' listing.  Alter-
 | |
|      natively, those creating self-extracting archives  may  wish
 | |
|      to include a short listing in the zipfile comment.
 | |
| 
 | |
|      See unzip for  a  more  complete  description  of  these
 | |
|      options.
 | |
| 
 | |
|      MODIFIERS
 | |
| 
 | |
|      unzipsfx currently supports  all  unzip  modifiers:   -a
 | |
|      (convert  text  files),  -n (never overwrite), -o (overwrite
 | |
|      without prompting), -q (operate quietly),  -C  (match  names
 | |
|      case-insenstively), -L (convert uppercase-OS names to lower-
 | |
|      case), -j (junk paths) and -V (retain version numbers); plus
 | |
|      the   following   operating-system   specific  options:   -X
 | |
|      (restore VMS owner/protection info), -s (convert  spaces  in
 | |
|      filenames  to  underscores  [DOS, OS/2, NT]) and -$ (restore
 | |
|      volume label [DOS, OS/2, NT, Amiga]).
 | |
| 
 | |
|      (Support for regular ASCII text-conversion may be removed in
 | |
|      future versions, since it is simple enough for the archive's
 | |
|      creator to ensure that text files have the appropriate  for-
 | |
|      mat for the local OS.  EBCDIC conversion will of course con-
 | |
|      tinue to be supported since the zipfile format implies ASCII
 | |
|      storage of text files.)
 | |
| 
 | |
|      See unzip for  a  more  complete  description  of  these
 | |
|      modifiers.
 | |
| 
 | |
| 2 Environment_options
 | |
| 
 | |
|      unzipsfx uses the same environment  variables  as  unzip
 | |
|      does,  although  this  is likely to be an issue only for the
 | |
|      person creating and  testing  the  self-extracting  archive.
 | |
|      See unzip for details.
 | |
| 
 | |
| 2 Decryption
 | |
| 
 | |
|      Decryption is supported exactly as in  unzip;  that  is,
 | |
|      interactively with a non-echoing prompt for the password(s).
 | |
|      See unzip for details.  Once again,  note  that  if  the
 | |
|      archive  has  no encrypted files there is no reason to use a
 | |
|      version of unzipsfx with decryption support; that only  adds
 | |
|      to the size of the archive.
 | |
| 
 | |
| 2 Examples
 | |
| 
 | |
|      To create a self-extracting archive letters from  a  regular
 | |
|      zipfile letters.zip and change the new archive's permissions
 | |
|      to be world-executable under Unix:
 | |
| 
 | |
|          cat unzipsfx letters.zip > letters
 | |
|          chmod 755 letters
 | |
| 
 | |
|      To create the same archive under MS-DOS, OS/2  or  NT  (note
 | |
|      the use of the /b [binary] option to the copy command):
 | |
| 
 | |
|          copy /b unzipsfx.exe+letters.zip letters.exe
 | |
| 
 | |
|      Under VMS:
 | |
| 
 | |
|          copy unzipsfx.exe,letters.zip letters.exe
 | |
|          letters == "$currentdisk:[currentdir]letters.exe"
 | |
| 
 | |
|      (The VMS append command may also be used.  The  second  com-
 | |
|      mand installs the new program as a ``foreign command'' capa-
 | |
|      ble of taking  arguments.)  To  test  (or  list)  the  newly
 | |
|      created self-extracting archive:
 | |
| 
 | |
|          letters -t
 | |
| 
 | |
|      To test letters quietly, printing  only  a  summary  message
 | |
|      indicating whether the archive is OK or not:
 | |
| 
 | |
|          letters -tq
 | |
| 
 | |
|      To extract the complete contents into the current directory,
 | |
|      recreating all files and subdirectories as necessary:
 | |
| 
 | |
|          letters
 | |
| 
 | |
|      To extract only the README  file  to  standard  output  (the
 | |
|      screen):
 | |
| 
 | |
|          letters -c README
 | |
| 
 | |
|      To print only the zipfile comment:
 | |
| 
 | |
|          letters -z
 | |
| 
 | |
| 2 Limitations
 | |
| 
 | |
|      The principle and fundamental limitation of unzipsfx is that
 | |
|      it  is  not  portable across architectures or operating sys-
 | |
|      tems, and therefore neither are the resulting archives.  For
 | |
|      some  architectures  there  is  limited portability, however
 | |
|      (e.g., between some flavors of Intel-based Unix).
 | |
| 
 | |
|      unzipsfx has no knowledge of the user's PATH, so in  general
 | |
|      an  archive  must either be in the current directory when it
 | |
|      is invoked, or else a full or relative path must  be  given.
 | |
|      If  a  user attempts to extract the archive from a directory
 | |
|      in the PATH other than the current one, unzipsfx will  print
 | |
|      a  warning  to  the  effect, ``can't find myself.''  This is
 | |
|      always true under Unix and may be true in some  cases  under
 | |
|      MS-DOS,  depending  on  the compiler used (Microsoft C fully
 | |
|      qualifies the program name, but other  compilers  may  not).
 | |
|      Under OS/2 and NT there are operating-system calls available
 | |
|      which provide the full path name,  so  the  archive  may  be
 | |
|      invoked  from anywhere in the user's path.  The situation is
 | |
|      not known for Atari TOS, MacOS, etc.
 | |
| 
 | |
|      As noted above, a number of the normal  unzip  functions
 | |
|      have  been removed in order to make unzipsfx smaller:  usage
 | |
|      and diagnostic info, listing  functions  and  extraction  to
 | |
|      other directories.  Also, only stored and deflated files are
 | |
|      supported.  The latter  limitation  is  mainly  relevant  to
 | |
|      those who create SFX archives, however.
 | |
| 
 | |
|      VMS users must know how to set up  self-extracting  archives
 | |
|      as  foreign  commands  in  order  to  use  any of unzipsfx's
 | |
|      options.  This is not necessary for simple  extraction,  but
 | |
|      the command to do so then becomes, e.g., ``run letters'' (to
 | |
|      continue the examples given above).
 | |
| 
 | |
|      unzipsfx is not supported on the Amiga because  of  the  way
 | |
|      the  loader  works;  the  entire  archive  contents would be
 | |
|      loaded into memory by default.  It may be possible  to  work
 | |
|      around this by defining the attached archive to be a ``debug
 | |
|      hunk,'' but compatibility problems between the ROM levels of
 | |
|      older  Amigas  and  newer  ones are likely to cause problems
 | |
|      regardless.
 | |
| 
 | |
|      All current bugs in unzip exist in unzipsfx as well.
 | |
| 
 | |
| 2 Diagnostics
 | |
| 
 | |
|      unzipsfx's exit status (error level) is identical to that of
 | |
|      unzip; see the corresponding man page.
 | |
| 
 | |
| 2 See_also
 | |
| 
 | |
|      funzip, unzip, zip,  zipcloak,  zipgrep,
 | |
|      zipinfo, zipnote, zipsplit
 | |
| 
 | |
| 2 Authors
 | |
| 
 | |
|      Greg Roelofs was responsible for the basic modifications  to
 | |
|      UnZip  necessary  to create UnZipSFX.  See unzip for the
 | |
|      current list of zip-bugs authors, or the  file  CONTRIBS  in
 | |
|      the  UnZip source distribution for the full list of Info-ZIP
 | |
|      contributors.
 |