NAME¶
klone - KLone swiss army knife
SYNOPSIS¶
klone
[ klone_opts] [-c cmd]
[cmd_opts] [ cmd_args]
DESCRIPTION¶
klone performs two different tasks depending on the argument supplied to
the
-c switch: import a site directory tree into the KLone building
environment (i.e. the embedded file system), or translate static and dynamic
pages into C files.
The translation phase is rarely seen by the user since it is hidden in the
Makefile of the site building directory, i.e.
${KLONE_SRC_DIR}/site.
Generally, the developer gets an embedded version of his/her site by providing
the following command sequence:
$ cd ${KLONE_SRC_DIR}/site
$ ../src/tools/klone/klone -c import ${SITE_BASE_DIR}
$ make
The latter
make invocation calls
'klone -c translate' over the
imported files to perform the needed translation and registering
(pre-linking).
Note that whenever a source file is added, removed or renamed, or in case the
embedded file system encrypting key changes, the import operation must be done
again.
The subsequent phase, by which the embedded site is linked to the
kloned
server skeleton, does not involve
klone anymore. Nevertheless, the
steps are illustrated here for reference:
$ cd ${KLONE_SRC_DIR}
$ make
That's all.
OPTIONS¶
- -h
- Display a brief help and exit.
- -v
- Enable verbose mode.
- -V
- Print klone version and exit.
COMMANDS¶
Translate:¶
klone -c translate -i infile
-o outfile -u uri
[
-E] [
-k keyfile] [
-z]
Translate the active (i.e. a
.klone file) or static page
infile
into C file
outfile.
The
-u option specifies the
uri associated with the translated
file.
The
-E option tells
klone to encrypt the file content with the key
enclosed in the supplied
keyfile or in the environment variable
KLONE_CIPHER_KEY using AES-256 CBC.
The contents of the translated files are compressed based on their MIME type if
the
-z flag is given.
Import:¶
klone -c import [
-b uri]
[
-e pattern] [
-x pattern]
[
-k keyfile] [
-Z pattern]
[
-z]
dir
Import the site tree starting at
dir into the KLone building environment.
The command output comprises two makefiles (
autogen.mk and
autogen.dps) and the
register.c file which will gather the
imported and translated site files. The latter file is the glue by which the
embedded site can afterwards be linked to the HTTP/S server.
When the
-e flag is given, the files matching the specified
pattern will be encrypted using the key enclosed in the supplied
keyfile or in the environment variable
KLONE_CIPHER_KEY.
The user can choose whether to compress all the imported files based on their
MIME type, using the
-z flag, or to select a subset matching the
supplied shell
pattern.
If, while importing, you don't want to include a set of files you can use the
-x argument to provide the pattern of files you want to exclude.
Arguments
-x,
-Z and
-e may be used more then once.
ENVIRONMENT¶
The following environment variable affects the execution of
klone:
- KLONE_CIPHER_KEY
- If set, klone tries to read the embedded file system
encryption key from it. It is be overridden by the -k option.
DIAGNOSTICS¶
The
klone utility exits with
EXIT_SUCCESS on success, and with
EXIT_FAILURE if an error occurs.
SEE ALSO¶
kloned(8),
kloned.conf(5).
BUGS¶
If you find one, please email it to <klone-bug@koanlogic.com>