zipfile::mkzip(3tcl) Zip archive creation zipfile::mkzip(3tcl)
______________________________________________________________________________
NAME
zipfile::mkzip - Build a zip archive
SYNOPSIS
package require Tcl 8.6
package require zipfile::mkzip ?1.2.1?
::zipfile::mkzip::mkzip zipfile ?-zipkit? ?-runtime prefix? ?-comment
string? ?-directory rootpath? ?-exclude exclude? ?--? ?path...?
______________________________________________________________________________
DESCRIPTION
This package utilizes the zlib functions in Tcl 8.6 to build zip ar-
chives.
API
::zipfile::mkzip::mkzip zipfile ?-zipkit? ?-runtime prefix? ?-comment
string? ?-directory rootpath? ?-exclude exclude? ?--? ?path...?
From http://wiki.tcl.tk/15158
This command constructs a zip archive from a directory tree us-
ing nothing but Tcl 8.6 core features. The resulting zip file
should be compatible with other zip programs - with the possible
exception of unicode support. The files generated by this com-
mand use utf-8 encoding for all filenames and comments and it
has been noticed particularly on Windows the info-zip and the
Windows built-in zip view have rather poor support for this part
of the ZIP file specification. The 7-Zip program does correctly
display utf8 filenames however and the vfs::zip package will use
these of course.
If you use
::mkzip::mkzip mystuff.tm -zipkit -directory mystuff.vfs
it will pack your "mystuff.vfs/" virtual filesystem tree into a
zip archive with a suitable header such that on unix you may
mark it executable and it should run with tclkit. Or you can run
it with tclsh or wish 8.6 if you like.
To change the executable header, specify the -runtime "preface"
where preface is a file containing code you want prefixed. For
instance, on Windows you can create a self-extracting zip ar-
chive using
mkzip mystuff.exe -directory mystuff.vfs -runtime unzipsfx.exe
The "unzipsfx.exe" is the Info-Zip self-extracting stub.
Accepted options:
-runtime path
This option specifies a file to use as prefix to the ac-
tual zip archive. If specified -zipkit will be ignored.
-zipkit
Instructs the command to generate a prefix which makes
the archive a zip-based starkit. Ignored if -runtime is
present.
-comment string
This options specifies a global comment to place into the
generated archive.
-directory path
This option specifies the directory to place into the
generated archive. If specified any argument paths are
ignored.
-exclude list
This option specifies a list of glob patterns. All paths
matching at least one of the patterns are not placed into
the generated archive. This option defaults to
CVS/* */CVS/* *~ ".#*" "*/.#*"
-- This option signals the end of the options, forcing pro-
cessing of all further words as arguments, even if they
begin with a dash character.
Accepted arguments:
path path
Each path is a directory or file to place into the gener-
ated archive. Note however that these will be ignored
when option -directory is specified.
BUGS, IDEAS, FEEDBACK
This document, and the package it describes, will undoubtedly contain
bugs and other problems. Please report such in the category zipfile of
the Tcllib Trackers [http://core.tcl.tk/tcllib/reportlist]. Please
also report any ideas for enhancements you may have for either package
and/or documentation.
When proposing code changes, please provide unified diffs, i.e the out-
put of diff -u.
Note further that attachments are strongly preferred over inlined
patches. Attachments can be made by going to the Edit form of the
ticket immediately after its creation, and then using the left-most
button in the secondary navigation bar.
KEYWORDS
decompression, zip
CATEGORY
File
COPYRIGHT
Copyright (c) 2009 Pat Thoyts
tcllib 1.2.1 zipfile::mkzip(3tcl)