mirror of https://github.com/MidnightCommander/mc
137 lines
4.4 KiB
Plaintext
137 lines
4.4 KiB
Plaintext
Overview
|
|
========
|
|
|
|
uzip is a module for the extfs Virtual File System (VFS) in
|
|
Midnight Commander. It allows browsing, extraction and
|
|
modification of zip archives.
|
|
|
|
uzip was written by Oskar Liljeblad. If you find a bug, or know
|
|
of an improvement, please email me at osk@hem.passagen.se.
|
|
|
|
License and Copyright
|
|
=====================
|
|
|
|
uzip is released under the terms of the GNU General Public License.
|
|
uzip is copyright (C) 2000-2001 by Oskar Liljeblad.
|
|
|
|
Requirements
|
|
============
|
|
|
|
Info-Zip mode:
|
|
Info-ZIP unzip 5.41 (for listing and extracting files)
|
|
Info-ZIP zip 2.30 (for adding and deleting files)
|
|
|
|
otherwise:
|
|
any unzip
|
|
any zip
|
|
|
|
History
|
|
=======
|
|
|
|
2001-08-07 Oskar Liljeblad <osk@hem.passagen.se>
|
|
|
|
* Release 1.4.0.
|
|
* Fixed so that files with filenames containing *, ?, [, ]
|
|
and \\ can be extracted or added to zip archives etc. These
|
|
characters has to be escaped once more, because Info-ZIP zip
|
|
and unzip interprets them as wildcards (despite the fact that
|
|
the shell already expands wildcards).
|
|
|
|
2001-03-01 Oskar Liljeblad <osk@hem.passagen.se>
|
|
|
|
* Release 1.3.0.
|
|
* Caching of files when listing archives has been fixed. (MC
|
|
would list a directory twice in some cases.)
|
|
* 'strict' is now used. (This is why global variables
|
|
are now initialized using 'my'.)
|
|
* Some code simplifications thanks to more understanding
|
|
of perl :)
|
|
* Minor documentation clarifications.
|
|
|
|
2001-02-21 Oskar Liljeblad <osk@hem.passagen.se>
|
|
|
|
* Release 1.2.0.
|
|
* The 'rmdir' extfs command of uzip was modified not to fail
|
|
when deleting directories that doesn't exist. (A different/
|
|
better solution would be to recreate the automaticly deleted
|
|
directories, but that's slower and harder to implement.)
|
|
Strangely, the zip man page does not mention this delete-
|
|
empty-directories behavior.
|
|
|
|
2000-10-31 Oskar Liljeblad <osk@hem.passagen.se>
|
|
|
|
* Release 1.1.0.
|
|
* mczipfs_copyin: Fixed order of arguments.
|
|
* safesystem, safeticks: Improved error handling.
|
|
* mczipfs_copyout: Now allows error code 11, and redirects
|
|
stderr to /dev/null.
|
|
|
|
2000-10-29 Oskar Liljeblad <osk@hem.passagen.se>
|
|
|
|
* Release 1.0.1.
|
|
* Fixed bug causing files with special permission not to
|
|
be listed.
|
|
|
|
2000-10-29 Oskar Liljeblad <osk@hem.passagen.se>
|
|
|
|
* Release 1.0.0: First version.
|
|
|
|
Differencies between new (Perl) and old (sh/AWK) uzip
|
|
=====================================================
|
|
|
|
The script is written purely in Perl, which (hopefully) means
|
|
faster execution and cleaner code.
|
|
|
|
Listing is done only with either zipinfo or unzip,
|
|
not both at the same time. Previously unzip would be used
|
|
if the archive contained non-unix file listings (after
|
|
zipinfo was run). Now there is an option to choose which
|
|
one to use (zipinfo is the default and preferred). This
|
|
should make listing of non-unix archives faster.
|
|
|
|
Files appearing before their parent directories in the listings
|
|
are now cached and printed later. This fixes a bug that would
|
|
cause some directories to be listed twice.
|
|
|
|
Temporary filenames are choosen better. That is, they are
|
|
generated using tmpnam(3). Previously, hardcoded filenames
|
|
(in the current directory) would be used.
|
|
|
|
The error messages are much better. Errors are checked for
|
|
(hopefully) all functions that can fail.
|
|
|
|
The copyin command no longer makes a copy of the file before
|
|
adding it. Instead it makes a temporary directory in which
|
|
a symlink to the original file is placed. This should speed
|
|
up addition considerably.
|
|
|
|
The run command is supported.
|
|
|
|
The theoretic commands "mklink" and "linkout" are supported.
|
|
However, MC extfs doesn't support these so they are rather
|
|
useless at the moment.
|
|
|
|
Known problems and Unsupported features
|
|
=======================================
|
|
|
|
Files added to the archive get listed with a+x permissions in MC.
|
|
This appears to be a problem with the MC extfs, and (probably) not uzip.
|
|
(It is only temporary though. When restarting MC and reading the
|
|
archive, the files will no longer be listed as executable.)
|
|
|
|
Extracted files do not have the same modification/access date as
|
|
in the archive. The same applies for permissions and ownership.
|
|
Fortunately MC extfs will set these attributes based on the file
|
|
listings.
|
|
|
|
Interpretation of special information ("central-directory extra field")
|
|
in zip archives. This is used to store information such as universal
|
|
time and unix UID/GID on files.
|
|
|
|
It would be nice if listing archives with symbolic links was faster.
|
|
Unzip has to be executed once for each link. This is because the
|
|
symbolic link file must be extracted in order to get the link
|
|
destination.
|
|
|
|
-
|