zip.ss: Creating zip Files
To load: (require (lib "zip.ss"))
This library provides a facility for creating zip files, which are
compatible with both Windows and Unix and Mac OS X. The actual compression
is implemented by deflate
(see Chapter 14). The
most useful entry point for this library is zip
.
(zip
zip-file path ···
)
PROCEDURE
Creates zip-file
, which holds the complete content of all
path
s. The given path
s are all expected to be relative
path names of existing directories and files (i.e., relative to the
current directory). If a nested path is provided as a path
, its
ancestor directories are also added to the resulting zip file, up to
the current directory (using pathlist-closure
; see
section 11.3.3 in PLT MzScheme: Language Manual). Files are packaged as usual for zip files,
including permission bits for both Windows and Unix and Mac OS X. The
permission bits are determined by
(section 11.3.3 in PLT MzScheme: Language Manual), so it
does not preserve the distinction between owner/group/other
permissions; also, symbolic links are always followed.file-or-directory-permissions
(zip->output
paths
[output-port
])
PROCEDURE
Zips each of the given paths
, and packages it as a zip ``file''
that is written directly to the output-port
or to the current
output port if output-port
is not given. Also, the specified
paths
are included as-is; if a directory is specified, its
content is not automatically added, and nested directories are added
without parent directories.
A parameter that controls output during a zip operation. Setting this
parameter to a true value will cause zip
to
display (on the current error port) the filename that is currently
being compressed.
(See also section 44.)