MAKE-KLONE-PROJECT(1)

NAME
make-klone-project - manage a KLone based custom Debian package

SYNOPSIS
make-klone-project [options] COMMAND

DESCRIPTION
make-klone-project is a tool to create and manage custom webserver packages that use KLone, a framework that integrates a web site with possibly dynamic content and a web server into a single binary.

The aim is to let the author to focus on editing the site specific files under webapp/ and allow creating a Debian package containing the web server and an init.d script to manage it with dpkg-buildpackage.

USAGE
make-klone-project takes one non-option argument.

create
    Create a new project directory, package-0.1 and seeds it with KLone's source and a debian/ directory.

clean
    Remove all non-user created files and directories ie. everything but debian/copyright, debian/changelog, debian/wsp.* and webapp/. See also the -l option below.

refresh
    Cleans the project directory as with make-klone-project clean and reseeds the KLone source and the debian/ directory.

EXAMPLES
 make-klone-project create -p myapp -m "Kari Pahula <kaol@debian.org>"
 cd myapp-0.1
 (edit any files that require editing, mostly in webapp/)
 make-klone-project refresh
 dpkg-buildpackage -rfakeroot
 sudo dpkg -i ../myapp_0.1_i386.deb

OPTIONS

-b NAME
    Name the created web server binary as NAME. If not specified the package name is used.

-l  Look for the project root directory in clean and refresh commands by changing the working directory to the parent directory until they find a file named debian/wsp.opt.maintainer in the current directory. Returns with error if none is found. Without this option, only the current directory is checked for this file. The upside of using this option is that make-klone-project will be agnostic about the working directory, as long as it is somewhere inside the project tree, just like dpkg-buildpackage. The downside is that you run a greater risk of having the clean command cause unwanted data loss, if you happen to have an unfortunately named file in a wrong place.

-m NAME
    Sets the maintainer name as NAME.

-p NAME
    Set the package name as NAME. Only effective with the create command. If not specified, uses customkloneapp.

FILES

debian/wsp.description
    A custom description for the package. Should be formatted like the corresponding field in the debian/control file.

debian/wsp.opt.*
    The options set in prior calls to make-klone-project.

webapp/
    The user specified site tree, to be imported as the site by KLone.

NOTES
Your web server will be run as a root, so you will need to use either allow_root or uid and gid options in your etc/kloned.conf.

SEE ALSO
dpkg-buildpackage(1), klone(1), kloned.conf(5), kloned(8).

AUTHOR
make-klone-project was written by Kari Pahula <kaol@debian.org>.