3.0 KiB
kiss
Tiny package manager for KISS Linux.
Table of Contents
Package format
See: https://github.com/kissx/packages
Dependencies
POSIX coreutils
:
cmp
command
cp
find
mkdir
rm
rmdir
sed
sh
Other utilities:
file
git
rsync
sha256sum
(Included in defaultbusybox
)strip
tar
(Included in defaultbusybox
)wget
(Included in defaultbusybox
)
Getting started
Add these to your shellrc
.
# The location to install packages (Optional).
# Default: /
export KISS_ROOT=~/.kiss
# Repositories to use (Required).
# Colon separated like '$PATH'.
# Repositories will be search in order.
# Default:
export KISS_PATH=~/projects/kiss-new/repo
Usage
➜ kiss
=> kiss [b|c|i|l|r|u] [pkg]
=> build: Build a package.
=> checksum: Generate checksums.
=> install: Install a package (Runs build if needed).
=> list: List packages.
=> remove: Remove a package.
=> update: Check for updates.
How does each operator work?
kiss build pkg
Kiss's build
operator handles a package from its source code to the installable .tar.gz
file. Sources are downloaded, checksums are verified, dependencies are checked and the package is compiled then packaged.
NOTE: build
without an argument will rebuild the entire system.
kiss checksum pkg
Kiss's checksum
operator generates the initial checksums for a package from every source in the sources
file.
kiss install pkg
Kiss's install
operator takes the built .tar.gz
file and installs it in the system. This is as simple as removing the old version of the package (if it exists) and unpacking the archive at /
.
kiss remove pkg
Kiss's remove
operator uninstalls a package from your system. Files and directories in /etc
are untouched. Support for exclusions will come as they are needed.
kiss search pkg
Kiss's search
operator searches all repositories for a package and prints
the full path to its repository files. Multiple arguments are welcome.
kiss list
or kiss list pkg
Kiss's list
operator lists the installed packages and their versions. Giving list
an argument will check if a singular package is installed.
kiss update
Kiss's update
operator compares the repository versions of packages to the installed database versions of packages. Any mismatch in versions is considered a new upgrade from the repository.