summaryrefslogtreecommitdiffstats
path: root/upstream/fedora-rawhide/man1/unzipsfx.1
diff options
context:
space:
mode:
Diffstat (limited to 'upstream/fedora-rawhide/man1/unzipsfx.1')
-rw-r--r--upstream/fedora-rawhide/man1/unzipsfx.1336
1 files changed, 336 insertions, 0 deletions
diff --git a/upstream/fedora-rawhide/man1/unzipsfx.1 b/upstream/fedora-rawhide/man1/unzipsfx.1
new file mode 100644
index 00000000..d9a0e59b
--- /dev/null
+++ b/upstream/fedora-rawhide/man1/unzipsfx.1
@@ -0,0 +1,336 @@
+.\" Copyright (c) 1990-2009 Info-ZIP. All rights reserved.
+.\"
+.\" See the accompanying file LICENSE, version 2009-Jan-02 or later
+.\" (the contents of which are also included in unzip.h) for terms of use.
+.\" If, for some reason, all these files are missing, the Info-ZIP license
+.\" also may be found at: ftp://ftp.info-zip.org/pub/infozip/license.html
+.\"
+.\" unzipsfx.1 by Greg Roelofs
+.\"
+.\" =========================================================================
+.\" define .EX/.EE (for multiline user-command examples; normal Courier font)
+.de EX
+.in +4n
+.nf
+.ft CW
+..
+.de EE
+.ft R
+.fi
+.in -4n
+..
+.\" =========================================================================
+.TH UNZIPSFX 1L "20 April 2009 (v6.0)" "Info-ZIP"
+.SH NAME
+unzipsfx \- self-extracting stub for prepending to ZIP archives
+.PD
+.SH SYNOPSIS
+\fB<name of unzipsfx+archive combo>\fP [\fB\-cfptuz\fP[\fBajnoqsCLV$\fP]]
+[\fIfile(s)\fP\ .\|.\|. [\fB\-x\fP\ \fIxfile(s)\fP\ .\|.\|.]]
+.PD
+.\" =========================================================================
+.SH DESCRIPTION
+\fIunzipsfx\fP is a modified version of \fIunzip\fP(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, \fIunzipsfx\fP 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
+\fIunzip\fP have been removed. Among these are the usage (or help) screen,
+the listing and diagnostic functions (\fB\-l\fP and \fB\-v\fP), 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.
+.PP
+\fBNote that
+self-extracting archives made with\fP \fIunzipsfx\fP \fBare no more (or less)
+portable across different operating systems than is
+the\fP \fIunzip\fP \fBexecutable itself.\fP 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 \fIunzip\fP 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.
+\fIDespite this\fP, however, the self-extracting archive is technically
+\fInot\fP 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 directory structure is not updated to reflect the
+extra bytes prepended to the original zipfile.
+.PD
+.\" =========================================================================
+.SH ARGUMENTS
+.IP [\fIfile(s)\fP]
+An optional list of archive members to be processed.
+Regular expressions (wildcards) similar to those in Unix \fIegrep\fP(1)
+may be used to match multiple members. These wildcards may contain:
+.RS
+.IP *
+matches a sequence of 0 or more characters
+.IP ?
+matches exactly 1 character
+.IP [.\|.\|.]
+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 \fIexcept\fP
+the characters inside the brackets is considered a match).
+.RE
+.IP
+(Be sure to quote any character that might otherwise be interpreted or
+modified by the operating system, particularly under Unix and VMS.)
+.IP [\fB\-x\fP\ \fIxfile(s)\fP]
+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, ``\fCfoosfx *.[ch] -x */*\fR'' would extract all C source files
+in the main directory, but none in any subdirectories. Without the \fB\-x\fP
+option, all C source files in all directories within the zipfile would be
+extracted.
+.PP
+If \fIunzipsfx\fP is compiled with SFX_EXDIR defined, the following option
+is also enabled:
+.IP [\fB\-d\fP\ \fIexdir\fP]
+An optional directory to which to extract files. By default, all files
+and subdirectories are recreated in the current directory; the \fB\-d\fP
+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,
+``\fC\-d\ ~\fR'' (tilde) is expanded by Unix C shells into the name
+of the user's home directory, but ``\fC\-d~\fR'' is treated as a
+literal subdirectory ``\fB~\fP'' of the current directory.
+.PD
+.\" =========================================================================
+.SH OPTIONS
+\fIunzipsfx\fP supports the following \fIunzip\fP(1L) options: \fB\-c\fP
+and \fB\-p\fP (extract to standard output/screen), \fB\-f\fP and \fB\-u\fP
+(freshen and update existing files upon extraction), \fB\-t\fP (test
+archive) and \fB\-z\fP (print archive comment). All normal listing options
+(\fB\-l\fP, \fB\-v\fP and \fB\-Z\fP) have been removed, but the testing
+option (\fB\-t\fP) 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.
+.PP
+See \fIunzip\fP(1L) for a more complete description of these options.
+.PD
+.\" =========================================================================
+.SH MODIFIERS
+\fIunzipsfx\fP currently supports all \fIunzip\fP(1L) modifiers: \fB\-a\fP
+(convert text files), \fB\-n\fP (never overwrite), \fB\-o\fP (overwrite
+without prompting), \fB\-q\fP (operate quietly), \fB\-C\fP (match names
+case-insensitively), \fB\-L\fP (convert uppercase-OS names to lowercase),
+\fB\-j\fP (junk paths) and \fB\-V\fP (retain version numbers); plus the
+following operating-system specific options: \fB\-X\fP (restore VMS
+owner/protection info), \fB\-s\fP (convert spaces in filenames to underscores
+[DOS, OS/2, NT]) and \fB\-$\fP (restore volume label [DOS, OS/2, NT, Amiga]).
+.PP
+(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 continue to be supported since the zipfile format implies ASCII
+storage of text files.)
+.PP
+See \fIunzip\fP(1L) for a more complete description of these modifiers.
+.PD
+.\" =========================================================================
+.SH "ENVIRONMENT OPTIONS"
+\fIunzipsfx\fP uses the same environment variables as \fIunzip\fP(1L) does,
+although this is likely to be an issue only for the person creating and
+testing the self-extracting archive. See \fIunzip\fP(1L) for details.
+.PD
+.\" =========================================================================
+.SH DECRYPTION
+Decryption is supported exactly as in \fIunzip\fP(1L); that is, interactively
+with a non-echoing prompt for the password(s). See \fIunzip\fP(1L) for
+details. Once again, note that if the archive has no encrypted files there
+is no reason to use a version of \fIunzipsfx\fP with decryption support;
+that only adds to the size of the archive.
+.PD
+.\" =========================================================================
+.SH AUTORUN COMMAND
+When \fIunzipsfx\fP 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:
+.PP
+.EX
+$AUTORUN$>[command line string]
+.EE
+.PP
+When \fIunzipsfx\fP 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, \fIunzipsfx\fP displays the command on the console and prompts
+the user for confirmation. When the user has switched off prompting by
+specifying the \fB-q\fP option, autorun commands are never executed.
+.PP
+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 \fB-q\fP option.
+.PD
+.\" =========================================================================
+.SH EXAMPLES
+To create a self-extracting archive \fIletters\fP from a regular zipfile
+\fIletters.zip\fP and change the new archive's permissions to be
+world-executable under Unix:
+.PP
+.EX
+cat unzipsfx letters.zip > letters
+chmod 755 letters
+zip -A letters
+.EE
+.PP
+To create the same archive under MS-DOS, OS/2 or NT (note the use of the
+\fB/b\fP [binary] option to the \fIcopy\fP command):
+.PP
+.EX
+copy /b unzipsfx.exe+letters.zip letters.exe
+zip -A letters.exe
+.EE
+.PP
+Under VMS:
+.PP
+.EX
+copy unzipsfx.exe,letters.zip letters.exe
+letters == "$currentdisk:[currentdir]letters.exe"
+zip -A letters.exe
+.EE
+.PP
+(The VMS \fIappend\fP 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:
+.PP
+.EX
+MakeSFX letters letters.zip UnZipSFX
+.EE
+.PP
+(MakeSFX is included with the UnZip source distribution and with Amiga
+binary distributions. ``\fCzip -A\fR'' doesn't work on Amiga self-extracting
+archives.)
+To test (or list) the newly created self-extracting archive:
+.PP
+.EX
+letters \-t
+.EE
+.PP
+To test \fIletters\fP quietly, printing only a summary message indicating
+whether the archive is OK or not:
+.PP
+.EX
+letters \-tqq
+.EE
+.PP
+To extract the complete contents into the current directory, recreating all
+files and subdirectories as necessary:
+.PP
+.EX
+letters
+.EE
+.PP
+To extract all \fC*.txt\fR files (in Unix quote the `*'):
+.PP
+.EX
+letters *.txt
+.EE
+.PP
+To extract everything \fIexcept\fP the \fC*.txt\fR files:
+.PP
+.EX
+letters -x *.txt
+.EE
+.PP
+To extract only the README file to standard output (the screen):
+.PP
+.EX
+letters -c README
+.EE
+.PP
+To print only the zipfile comment:
+.PP
+.EX
+letters \-z
+.EE
+.PD
+.\" =========================================================================
+.SH LIMITATIONS
+The principle and fundamental limitation of \fIunzipsfx\fP is that it is
+not portable across architectures or operating systems, and therefore
+neither are the resulting archives. For some architectures there is
+limited portability, however (e.g., between some flavors of Intel-based Unix).
+.PP
+Another problem with the current implementation is that any archive
+with ``junk'' prepended to the beginning technically is no longer a zipfile
+(unless \fIzip\fP(1) is used to adjust the zipfile offsets appropriately,
+as noted above). \fIunzip\fP(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.
+.PP
+\fIunzipsfx\fP 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, \fIunzipsfx\fP 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 provide 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.
+.PP
+As noted above, a number of the normal \fIunzip\fP(1L) functions have
+been removed in order to make \fIunzipsfx\fP 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.
+.PP
+VMS users must know how to set up self-extracting archives as foreign
+commands in order to use any of \fIunzipsfx\fP's options. This is not
+necessary for simple extraction, but the command to do so then becomes,
+e.g., ``\fCrun letters\fR'' (to continue the examples given above).
+.PP
+\fIunzipsfx\fP on the Amiga requires the use of a special program, MakeSFX,
+in order to create working self-extracting archives; 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.
+.PP
+All current bugs in \fIunzip\fP(1L) exist in \fIunzipsfx\fP as well.
+.PD
+.\" =========================================================================
+.SH DIAGNOSTICS
+\fIunzipsfx\fP's exit status (error level) is identical to that of
+\fIunzip\fP(1L); see the corresponding man page.
+.PD
+.\" =========================================================================
+.SH "SEE ALSO"
+\fIfunzip\fP(1L), \fIunzip\fP(1L), \fIzip\fP(1L), \fIzipcloak\fP(1L),
+\fIzipgrep\fP(1L), \fIzipinfo\fP(1L), \fIzipnote\fP(1L), \fIzipsplit\fP(1L)
+.PD
+.PD
+.\" =========================================================================
+.SH URL
+The Info-ZIP home page is currently at
+.EX
+\fChttp://www.info-zip.org/pub/infozip/\fR
+.EE
+or
+.EX
+\fCftp://ftp.info-zip.org/pub/infozip/\fR .
+.EE
+.PD
+.\" =========================================================================
+.SH AUTHORS
+Greg Roelofs was responsible for the basic modifications to UnZip necessary
+to create UnZipSFX. See \fIunzip\fP(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.
+.PD