Scroll to navigation

KODEV(1) General Commands Manual KODEV(1)

NAME

kodev - Kore project management tool

SYNOPSIS

kodev [OPTION] ...

DESCRIPTION

This documentation describes the application management tools for building and running a Kore project. For information regarding the technical interface and C bindings, look to kore(3) where these functions and structures are described. Kore projects may be managed using the following OPTIONS;

create

Create a new application skeleton with the name that is passed to it. This will create a new directory with all the files required to begin hacking. See the GENERATED FILES section for more information.

build

Build the application. See the BUILDING section for more information.

run

Start the application in the foreground. See the RUNNING section for more information.

reload

Reload the application. This is a shortcut to sending SIGHUP to the parent process (see kore_pid).

info

Show information about the application configuration. Namely; active flavor, output type, Kore features, Kore source and Kore binary.

clean

Cleanup the build files.

flavor

Switch between build flavors with the argument being the new flavor.

help

Show the help synopsis.

GENERATED FILES

Executing the create command will generate several new files under the directory matching the application name specified.

These files are:

conf/build.conf
The build configuration.

conf/app.conf

The Kore application configuration.

src/app.c

The initial placeholder source code.

cert/server.pem

The self-signed auto-generated x509 certificate.

cert/key.pem

The key matching the self-signed x509 certificate.

dh2048.pem

The 2048-bit DH parameters used by TLS.

Those files are:

kore.conf
The Kore application configuration.

handlers.py
The initial placeholder python page handler.

__init__.py
The python initialization code. Sets up the kore listener, etc.

cert/server.pem
The self-signed auto-generated x509 certificate.

cert/key.pem
The key matching the self-signed x509 certificate.

dh2048.pem
The 2048-bit DH parameters used by TLS.

BUILDING

Executing the build command will build your application. How this happens is instructed by the conf/build.conf configuration file. This file supports the following directives:

single_binary [yes|no]
If set to yes the build system will produce a single binary containing both your application code and the Kore code allowing you to distribute your application more easily.

If set to no the build system will produce a standard dynamically linked library that will be loaded into Kore at runtime.

kore_source [path]
Must be set to point to the a Kore source code directory. Used only if single_binary option is set to yes.

Example: kore_source=/home/joris/src/kore

kore_flavor [build options]
Defines the build arguments for building Kore. Used only if single_binary option is set to yes.

Example: kore_flavor=NOTLS=1

cflags
Standard CFLAGS used when compiling the application source code.

ldflags
Standard LDFLAGS used when linking the application source code.

Note that the build command obeys the environment variables CC and CXX

RUNNING

Executing the run command will start your application in the foreground.

What binary it executes depends on whether or not the single_binary flag was set in build configuration. If the single_binary flag was enabled the run command will execute the binary produced by the build system. If the single_binary flag was not enabled the run command will execute the $PREFIX/bin/kore binary. In both cases the run command will pass the -fnr command line options to the binary.

EXAMPLES

Changing flavor of the build;

$ kodev flavor osx

Building your application;

$ kodev build

REPORTING BUGS, CONTRIBUTING && MORE

If you run into any bugs, have suggestions or patches, please contact me at <joris@coders.se>

More information can be found at <https://kore.io/>

AUTHOR

Kore developed by Joris Vink <joris@coders.se>

Manpage authored by Guy Nankivell <guynankivell@gmail.com>

LICENCE

Usage of this software is provided under the ISC license which may be found, with the source, at <https://github.com/jorisvink/kore>