diff options
Diffstat (limited to 'upstream/fedora-rawhide/man1/unzipsfx.1')
-rw-r--r-- | upstream/fedora-rawhide/man1/unzipsfx.1 | 336 |
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 |