/* Void Main's man pages */

{ phpMan } else { main(); }

Command: man perldoc info search(apropos)  


UNZIPSFX(1L)                                                                                                        UNZIPSFX(1L)



NAME
       unzipsfx - self-extracting stub for prepending to ZIP archives

SYNOPSIS
       <name of unzipsfx+archive combo> [-cfptuz[ajnoqsCLV$]] [file(s) ... [-x xfile(s) ...]]

DESCRIPTION
       unzipsfx  is  a  modified  version  of unzip(1L) 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
       less-vital  capabilities in regular unzip have been removed.  Among these are the usage (or help) screen, the listing and
       diagnostic functions (-l and -v), the ability to decompress older compression formats  (the  ``reduce,''  ``shrink''  and
       ``implode'' methods).  The ability to extract to a directory other than the current one can be selected as a compile-time
       option, which is now enabled by default since UnZipSFX version 5.5.  Similarly, decryption is supported as a compile-time
       option  but  should  be  avoided unless the attached archive contains encrypted files. Starting with release 5.5, another
       compile-time option adds a simple ``run command after extraction'' feature.  This feature is currently incompatible  with
       the ``extract to different directory'' feature and remains disabled by default.

       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 embedded archive as
       with any normal zipfile, although it will generate a harmless warning about extra bytes at the beginning of the  zipfile.
       Despite  this,  however, the self-extracting archive is technically not a valid ZIP archive, and PKUNZIP may be unable to
       test or extract it.  This limitation is due to the simplistic manner in which the archive is created; the internal direc-
       tory structure is not updated to reflect the extra bytes prepended to the original zipfile.

ARGUMENTS
       [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 `^') follows the left bracket,
                     then the range of characters within the brackets is complemented (that is, anything except  the  characters
                     inside the brackets is considered a match).

              (Be  sure to quote any character that might otherwise be interpreted or modified by the operating system, particu-
              larly 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 that are in subdirectories.  For example, ``foosfx
              *.[ch] -x */*'' would extract all C source files in the main directory, but none in any  subdirectories.   Without
              the -x option, all C source files in all directories within the zipfile would be extracted.

       If unzipsfx is compiled with SFX_EXDIR defined, the following option is also enabled:

       [-d exdir]
              An  optional  directory  to which to extract files.  By default, all files and subdirectories are recreated in the
              current directory; the -d option allows extraction in an arbitrary directory (always assuming one  has  permission
              to  write  to  the directory).  The option and directory may be concatenated without any white space between them,
              but note that this may cause normal shell behavior to be suppressed.  In particular, ``-d ~'' (tilde) is  expanded
              by  Unix  C  shells  into  the name of the user's home directory, but ``-d~'' is treated as a literal subdirectory
              ``~'' of the current directory.

OPTIONS
       unzipsfx supports the following unzip(1L) 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.   Alternatively,
       those creating self-extracting archives may wish to include a short listing in the zipfile comment.

       See unzip(1L) for a more complete description of these options.

MODIFIERS
       unzipsfx  currently supports all unzip(1L) modifiers:  -a (convert text files), -n (never overwrite), -o (overwrite with-
       out prompting), -q (operate quietly), -C (match names case-insensitively), -L (convert uppercase-OS names to  lowercase),
       -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 format 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(1L) for a more complete description of these modifiers.

ENVIRONMENT OPTIONS
       unzipsfx  uses the same environment variables as unzip(1L) does, although this is likely to be an issue only for the per-
       son creating and testing the self-extracting archive.  See unzip(1L) for details.

DECRYPTION
       Decryption is supported exactly as in unzip(1L); that is, interactively with a non-echoing prompt  for  the  password(s).
       See  unzip(1L) for details.  Once again, note that if the archive has no encrypted files there is no reason to use a ver-
       sion of unzipsfx with decryption support; that only adds to the size of the archive.

AUTORUN COMMAND
       When unzipsfx was compiled with CHEAP_SFX_AUTORUN defined, a simple ``command autorun'' feature  is  supported.  You  may
       enter a command into the Zip archive comment, using the following format:

       $AUTORUN$>[command line string]

       When unzipsfx recognizes the ``$AUTORUN$>'' token at the beginning of the Zip archive comment, the remainder of the first
       line of the comment (until the first newline character) is passed as a shell command to the operating system using the  C
       rtl  ``system'' function. Before executing the command, unzipsfx displays the command on the console and prompts the user
       for confirmation.  When the user has switched off prompting by specifying the -q option, autorun commands are never  exe-
       cuted.

       In  case  the archive comment contains additional lines of text, the remainder of the archive comment following the first
       line is displayed normally, unless quiet operation was requested by supplying a -q option.

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
       zip -A 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
       zip -A letters.exe

       Under VMS:

       copy unzipsfx.exe,letters.zip letters.exe
       letters == "$currentdisk:[currentdir]letters.exe"
       zip -A letters.exe

       (The  VMS  append command may also be used.  The second command installs the new program as a ``foreign command'' capable
       of taking arguments.  The third line assumes that Zip is already installed as a foreign command.)  Under AmigaDOS:

       MakeSFX letters letters.zip UnZipSFX

       (MakeSFX is included with the UnZip source distribution and with Amiga binary distributions.  ``zip -A'' doesn't work  on
       Amiga self-extracting archives.)  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 -tqq

       To extract the complete contents into the current directory, recreating all files and subdirectories as necessary:

       letters

       To extract all *.txt files (in Unix quote the `*'):

       letters *.txt

       To extract everything except the *.txt files:

       letters -x *.txt

       To extract only the README file to standard output (the screen):

       letters -c README

       To print only the zipfile comment:

       letters -z

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).

       Another  problem with the current implementation is that any archive with ``junk'' prepended to the beginning technically
       is no longer a zipfile (unless zip(1) is used to adjust the zipfile offsets appropriately,  as  noted  above).   unzip(1)
       takes  note of the prepended bytes and ignores them since some file-transfer protocols, notably MacBinary, are also known
       to prepend junk.  But PKWARE's archiver suite may not be able to deal with the modified archive unless its  offsets  have
       been adjusted.

       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 that pro-
       vide the full path name, so the archive may be invoked from anywhere in the user's path.  The situation is not known  for
       AmigaDOS, Atari TOS, MacOS, etc.

       As  noted  above,  a number of the normal unzip(1L) 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  on  the  Amiga  requires  the use of a special program, MakeSFX, in order to create working self-extracting ar-
       chives; simple concatenation does not work.  (For technically oriented users,  the  attached  archive  is  defined  as  a
       ``debug hunk.'')  There may be compatibility problems between the ROM levels of older Amigas and newer ones.

       All current bugs in unzip(1L) exist in unzipsfx as well.

DIAGNOSTICS
       unzipsfx's exit status (error level) is identical to that of unzip(1L); see the corresponding man page.

SEE ALSO
       funzip(1L), unzip(1L), zip(1L), zipcloak(1L), zipgrep(1L), zipinfo(1L), zipnote(1L), zipsplit(1L)

URL
       The Info-ZIP home page is currently at
       http://www.info-zip.org/pub/infozip/
       or
       ftp://ftp.info-zip.org/pub/infozip/ .

AUTHORS
       Greg  Roelofs  was  responsible for the basic modifications to UnZip necessary to create UnZipSFX.  See unzip(1L) 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.



Info-ZIP                                              20 April 2009 (v6.0)                                          UNZIPSFX(1L)

Valid XHTML 1.0!Valid CSS!