Lots of things have changed since
cpt was forked from
kiss in terms of
functionalities and ideals. This section aims to describe the similarities and
differences of both package managers as neutral as possible. Keep in mind that
this is the
cpt documentation, so it may be biased regardless.
kiss aims to be a simple single file package manager,
cpt aims to be
an extendable package manager library.
kiss has all of its features
cpt has all of its features separated into small tools.
These tools can be called from the main
cpt tool (in order to keep
kiss-like usage) or with their names directly (e.g
cpt use configuration files. Instead, they are configured
through environment variables. Additionally, all
cpt tools can receive flags
that alter their functionality.
kiss does not accept flags.
In addition to git repositories,
cpt also supports Rsync, Fossil, and
In addition to git repositories for sources,
cpt also supports Mercurial and
cpt interact with ‘post-install’ messages differently.
does not differentiate between post-installation scripts and post-installation
messages, and will save the output of all scripts named ‘post-install’ to be
printed after the installation of all packages are complete.
cpt on the
other hand, separates these with the ‘message’ file.
cpt runs ‘post-install’
without saving the output to be printed a second time. It instead prints all
‘message’ files after the installation is over.
kiss aims to be as portable as possible.
cpt aims to be portable, but
cpt depends on
rsync for package installation, while
kiss has removed the dependency in favour of portability.