home *** CD-ROM | disk | FTP | other *** search
/ ftp.sunet.se/pub/OS2/ / 2014.11.ftp.sunet.se_pub_OS2.tar / ftp.sunet.se / pub / OS2 / hobbes / os2 / util / archiver / uzs550x2.exe / unzipsfx.txt < prev    next >
Text File  |  2002-02-17  |  15KB  |  343 lines

  1.  
  2. UNZIPSFX(1L)                                         UNZIPSFX(1L)
  3.  
  4. NAME
  5.        unzipsfx  -  self-extracting  stub  for  prepending to ZIP
  6.        archives
  7.  
  8. SYNOPSIS
  9.        <name  of  unzipsfx+archive  combo>  [-cfptuz[ajnoqsCLV$]]
  10.        [file(s) ... [-x xfile(s) ...]]
  11.  
  12. DESCRIPTION
  13.        unzipsfx is a modified version of unzip(1L) designed to be
  14.        prepended to existing ZIP archives in order to form  self-
  15.        extracting archives.  Instead of taking its first non-flag
  16.        argument to be the zipfile(s) to  be  extracted,  unzipsfx
  17.        seeks  itself  under  the name by which it was invoked and
  18.        tests or extracts the contents of  the  appended  archive.
  19.        Because  the executable stub adds bulk to the archive (the
  20.        whole purpose of which is to be as small as  possible),  a
  21.        number  of  the  less-vital  capabilities in regular unzip
  22.        have been removed.  Among these are the  usage  (or  help)
  23.        screen,  the listing and diagnostic functions (-l and -v),
  24.        the ability to decompress older compression  formats  (the
  25.        ``reduce,''  ``shrink''  and  ``implode''  methods).   The
  26.        ability to extract to a directory other than  the  current
  27.        one can be selected as a compile-time option, which is now
  28.        enabled by default since UnZipSFX version 5.5.   Similary,
  29.        decryption  is  supported  as  a  compile-time  option but
  30.        should be avoided unless  the  attached  archive  contains
  31.        encrypted  files.  Starting with release 5.5, another com-
  32.        pile-time option adds a simple ``run command after extrac-
  33.        tion''  feature.   This  feature is currently incompatible
  34.        with the ``extract to different  directory''  feature  and
  35.        remains disabled by default.
  36.  
  37.        Note  that self-extracting archives made with unzipsfx are
  38.        no more (or less) portable across different operating sys-
  39.        tems  than  is  the unzip executable itself.  In general a
  40.        self-extracting archive made on a particular Unix  system,
  41.        for  example, will only self-extract under the same flavor
  42.        of Unix.  Regular unzip may still be used to  extract  the
  43.        embedded  archive  as with any normal zipfile, although it
  44.        will generate a harmless warning about extra bytes at  the
  45.        beginning  of  the  zipfile.   Despite  this, however, the
  46.        self-extracting archive is technically  not  a  valid  ZIP
  47.        archive,  and PKUNZIP may be unable to test or extract it.
  48.        This limitation is due to the simplistic manner  in  which
  49.        the  archive  is created; the internal directory structure
  50.        is not updated to reflect the extra bytes prepended to the
  51.        original zipfile.
  52.  
  53. ARGUMENTS
  54.        [file(s)]
  55.               An  optional  list  of  archive  members to be pro-
  56.               cessed.  Regular expressions (wildcards) similar to
  57.               those  in  Unix  egrep(1)  may  be  used  to  match
  58.  
  59. Info-ZIP             17 February 2002 (v5.5)                    1
  60.  
  61. UNZIPSFX(1L)                                         UNZIPSFX(1L)
  62.  
  63.               multiple members.  These wildcards may contain:
  64.  
  65.               *      matches a sequence of 0 or more characters
  66.  
  67.               ?      matches exactly 1 character
  68.  
  69.               [...]  matches any single  character  found  inside
  70.                      the  brackets;  ranges  are  specified  by a
  71.                      beginning character, a hyphen, and an ending
  72.                      character.   If  an  exclamation  point or a
  73.                      caret (`!' or `^') follows the left bracket,
  74.                      then  the  range  of  characters  within the
  75.                      brackets is complemented (that is,  anything
  76.                      except the characters inside the brackets is
  77.                      considered a match).
  78.  
  79.               (Be sure to quote any character that  might  other-
  80.               wise  be  interpreted  or modified by the operating
  81.               system, particularly under Unix and VMS.)
  82.  
  83.        [-x xfile(s)]
  84.               An optional list of archive members to be  excluded
  85.               from  processing.   Since wildcard characters match
  86.               directory separators (`/'), this option may be used
  87.               to  exclude  any  files that are in subdirectories.
  88.               For example, ``foosfx *.[ch] -x */*'' would extract
  89.               all  C source files in the main directory, but none
  90.               in any subdirectories.  Without the -x option,  all
  91.               C  source  files in all directories within the zip-
  92.               file would be extracted.
  93.  
  94.        If unzipsfx is compiled with SFX_EXDIR defined,  the  fol-
  95.        lowing option is also enabled:
  96.  
  97.        [-d exdir]
  98.               An  optional  directory  to which to extract files.
  99.               By default, all files and subdirectories are recre-
  100.               ated in the current directory; the -d option allows
  101.               extraction in an arbitrary directory (always assum-
  102.               ing  one has permission to write to the directory).
  103.               The option and directory may be concatenated  with-
  104.               out  any  white  space  between them, but note that
  105.               this may cause normal shell  behavior  to  be  sup-
  106.               pressed.    In   particular,  ``-d ~''  (tilde)  is
  107.               expanded by Unix C shells  into  the  name  of  the
  108.               user's  home directory, but ``-d~'' is treated as a
  109.               literal subdirectory ``~'' of  the  current  direc-
  110.               tory.
  111.  
  112. OPTIONS
  113.        unzipsfx supports the following unzip(1L) options:  -c and
  114.        -p (extract to standard output/screen), -f and -u (freshen
  115.        and  update  existing  files  upon  extraction),  -t (test
  116.        archive) and  -z  (print  archive  comment).   All  normal
  117.  
  118. Info-ZIP             17 February 2002 (v5.5)                    2
  119.  
  120. UNZIPSFX(1L)                                         UNZIPSFX(1L)
  121.  
  122.        listing options (-l, -v and -Z) have been removed, but the
  123.        testing option (-t) may be used as a ``poor man's''  list-
  124.        ing.    Alternatively,   those   creating  self-extracting
  125.        archives may wish to include a short listing in  the  zip-
  126.        file comment.
  127.  
  128.        See  unzip(1L)  for  a  more complete description of these
  129.        options.
  130.  
  131. MODIFIERS
  132.        unzipsfx currently supports all unzip(1L)  modifiers:   -a
  133.        (convert  text files), -n (never overwrite), -o (overwrite
  134.        without prompting), -q (operate quietly), -C (match  names
  135.        case-insensitively),  -L  (convert  uppercase-OS  names to
  136.        lowercase), -j (junk paths) and -V  (retain  version  num-
  137.        bers);   plus   the  following  operating-system  specific
  138.        options:  -X (restore VMS owner/protection info), -s (con-
  139.        vert  spaces  in filenames to underscores [DOS, OS/2, NT])
  140.        and -$ (restore volume label [DOS, OS/2, NT, Amiga]).
  141.  
  142.        (Support for regular ASCII text-conversion may be  removed
  143.        in  future  versions,  since  it  is simple enough for the
  144.        archive's creator to  ensure  that  text  files  have  the
  145.        appropriate  format  for  the local OS.  EBCDIC conversion
  146.        will of course continue to be supported since the  zipfile
  147.        format implies ASCII storage of text files.)
  148.  
  149.        See  unzip(1L)  for  a  more complete description of these
  150.        modifiers.
  151.  
  152. ENVIRONMENT OPTIONS
  153.        unzipsfx uses the same environment variables as  unzip(1L)
  154.        does,  although this is likely to be an issue only for the
  155.        person creating and testing the  self-extracting  archive.
  156.        See unzip(1L) for details.
  157.  
  158. DECRYPTION
  159.        Decryption  is supported exactly as in unzip(1L); that is,
  160.        interactively with a  non-echoing  prompt  for  the  pass-
  161.        word(s).   See  unzip(1L)  for  details.  Once again, note
  162.        that if the archive has no encrypted  files  there  is  no
  163.        reason  to  use a version of unzipsfx with decryption sup-
  164.        port; that only adds to the size of the archive.
  165.  
  166. AUTORUN COMMAND
  167.        When unzipsfx was compiled with CHEAP_SFX_AUTORUN defined,
  168.        a simple ``command autorun'' feature is supported. You may
  169.        enter a command into the Zip archive  comment,  using  the
  170.        following format:
  171.  
  172.            $AUTORUN$>[command line string]
  173.  
  174.        When  unzipsfxP recognizes the ``$AUTORUN$>'' token at the
  175.        beginning of the Zip archive comment, the remainder of the
  176.  
  177. Info-ZIP             17 February 2002 (v5.5)                    3
  178.  
  179. UNZIPSFX(1L)                                         UNZIPSFX(1L)
  180.  
  181.        first line of the comment (until the first newline charac-
  182.        ter) is passed as a shell command to the operating  system
  183.        using  the C rtl ``system'' function. Before executing the
  184.        command, unzipsfxP displays the command on the console and
  185.        prompts  the  user  for  confirmation.   When the user has
  186.        switched  off  prompting  by  specifying  the  -q  option,
  187.        autorun commands are never executed.
  188.  
  189.        In  case  the  archive comment contains additonal lines of
  190.        text, the remainder of the archive comment  following  the
  191.        first  line  is displayed normally, unless quiet operation
  192.        was requested by supplying a -q option.
  193.  
  194. EXAMPLES
  195.        To create a self-extracting archive letters from a regular
  196.        zipfile  letters.zip  and change the new archive's permis-
  197.        sions to be world-executable under Unix:
  198.  
  199.            cat unzipsfx letters.zip > letters
  200.            chmod 755 letters
  201.            zip -A letters
  202.  
  203.        To create the same archive under MS-DOS, OS/2 or NT  (note
  204.        the use of the /b [binary] option to the copy command):
  205.  
  206.            copy /b unzipsfx.exe+letters.zip letters.exe
  207.            zip -A letters.exe
  208.  
  209.        Under VMS:
  210.  
  211.            copy unzipsfx.exe,letters.zip letters.exe
  212.            letters == "$currentdisk:[currentdir]letters.exe"
  213.            zip -A letters.exe
  214.  
  215.        (The VMS append command may also be used.  The second com-
  216.        mand installs the new program  as  a  ``foreign  command''
  217.        capable  of taking arguments.  The third line assumes that
  218.        Zip is already installed as  a  foreign  command.)   Under
  219.        AmigaDOS:
  220.  
  221.            MakeSFX letters letters.zip UnZipSFX
  222.  
  223.        (MakeSFX  is  included  with the UnZip source distribution
  224.        and with Amiga binary distributions.  ``zip  -A''  doesn't
  225.        work  on  Amiga  self-extracting  archives.)   To test (or
  226.        list) the newly created self-extracting archive:
  227.  
  228.            letters -t
  229.  
  230.        To test letters quietly, printing only a  summary  message
  231.        indicating whether the archive is OK or not:
  232.  
  233.            letters -tqq
  234.  
  235. Info-ZIP             17 February 2002 (v5.5)                    4
  236.  
  237. UNZIPSFX(1L)                                         UNZIPSFX(1L)
  238.  
  239.        To  extract  the complete contents into the current direc-
  240.        tory, recreating all files and  subdirectories  as  neces-
  241.        sary:
  242.  
  243.            letters
  244.  
  245.        To extract all *.txt files (in Unix quote the `*'):
  246.  
  247.            letters *.txt
  248.  
  249.        To extract everything except the *.txt files:
  250.  
  251.            letters -x *.txt
  252.  
  253.        To  extract  only  the README file to standard output (the
  254.        screen):
  255.  
  256.            letters -c README
  257.  
  258.        To print only the zipfile comment:
  259.  
  260.            letters -z
  261.  
  262. LIMITATIONS
  263.        The principle and fundamental limitation  of  unzipsfx  is
  264.        that  it is not portable across architectures or operating
  265.        systems, and therefore neither are the resulting archives.
  266.        For  some architectures there is limited portability, how-
  267.        ever (e.g., between some flavors of Intel-based Unix).
  268.  
  269.        Another problem with the current  implementation  is  that
  270.        any archive with ``junk'' prepended to the beginning tech-
  271.        nically is no longer a zipfile (unless zip(1) is  used  to
  272.        adjust the zipfile offsets appropriately, as noted above).
  273.        unzip(1) takes note of the  prepended  bytes  and  ignores
  274.        them  since  some  file-transfer protocols, notably MacBi-
  275.        nary, are  also  known  to  prepend  junk.   But  PKWARE's
  276.        archiver  suite  may not be able to deal with the modified
  277.        archive unless its offsets have been adjusted.
  278.  
  279.        unzipsfx has no knowledge of the user's PATH, so  in  gen-
  280.        eral  an  archive  must either be in the current directory
  281.        when it is invoked, or else a full or relative  path  must
  282.        be  given.  If a user attempts to extract the archive from
  283.        a directory in  the  PATH  other  than  the  current  one,
  284.        unzipsfx  will print a warning to the effect, ``can't find
  285.        myself.''  This is always true under Unix and may be  true
  286.        in some cases under MS-DOS, depending on the compiler used
  287.        (Microsoft C fully qualifies the program name,  but  other
  288.        compilers  may  not).  Under OS/2 and NT there are operat-
  289.        ing-system calls available  that  provide  the  full  path
  290.        name,  so  the archive may be invoked from anywhere in the
  291.        user's path.  The situation is  not  known  for  AmigaDOS,
  292.        Atari TOS, MacOS, etc.
  293.  
  294. Info-ZIP             17 February 2002 (v5.5)                    5
  295.  
  296. UNZIPSFX(1L)                                         UNZIPSFX(1L)
  297.  
  298.        As noted above, a number of the normal unzip(1L) functions
  299.        have been removed  in  order  to  make  unzipsfx  smaller:
  300.        usage  and  diagnostic info, listing functions and extrac-
  301.        tion to other directories.  Also, only stored and deflated
  302.        files are supported.  The latter limitation is mainly rel-
  303.        evant to those who create SFX archives, however.
  304.  
  305.        VMS users must know how to set up self-extracting archives
  306.        as  foreign  commands  in  order  to use any of unzipsfx's
  307.        options.  This is not necessary for simple extraction, but
  308.        the  command  to do so then becomes, e.g., ``run letters''
  309.        (to continue the examples given above).
  310.  
  311.        unzipsfx on the Amiga requires the use of a  special  pro-
  312.        gram,  MakeSFX, in order to create working self-extracting
  313.        archives; simple concatenation does not work.  (For  tech-
  314.        nically oriented users, the attached archive is defined as
  315.        a ``debug hunk.'')  There may  be  compatibility  problems
  316.        between the ROM levels of older Amigas and newer ones.
  317.  
  318.        All current bugs in unzip(1L) exist in unzipsfx as well.
  319.  
  320. DIAGNOSTICS
  321.        unzipsfx's  exit status (error level) is identical to that
  322.        of unzip(1L); see the corresponding man page.
  323.  
  324. SEE ALSO
  325.        funzip(1L), unzip(1L), zip(1L), zipcloak(1L), zipgrep(1L),
  326.        zipinfo(1L), zipnote(1L), zipsplit(1L)
  327.  
  328. URL
  329.        The Info-ZIP home page is currently at
  330.            http://www.info-zip.org/pub/infozip/
  331.        or
  332.            ftp://ftp.info-zip.org/pub/infozip/ .
  333.  
  334. AUTHORS
  335.        Greg  Roelofs  was responsible for the basic modifications
  336.        to UnZip necessary to create UnZipSFX.  See unzip(1L)  for
  337.        the current list of Zip-Bugs authors, or the file CONTRIBS
  338.        in the UnZip source distribution  for  the  full  list  of
  339.        Info-ZIP contributors.
  340.  
  341. Info-ZIP             17 February 2002 (v5.5)                    6
  342.  
  343.