diff --git a/README.md b/README.md index d531245..28ec254 100644 --- a/README.md +++ b/README.md @@ -29,14 +29,109 @@ Tiny and straightforward package manager for KISS written in POSIX `sh`. See: +## Customization + +```sh +# The package manager is controlled through environment variables. +# +# These can be set in your '.profile' or '/etc/profile.d' to have +# the options apply all the time. +# +# These can also be set in the current shell to have them apply +# only for the current session. +# +# NOTE: The values shown below are the defaults. + +# Managing repositories. +# +# This works exactly like '$PATH' (Colon separated). +# +# A list of repositories the package manager will use. You can +# add your own repositories or remove the default ones. +export KISS_PATH=/var/db/kiss/repo/core:/var/db/kiss/repo/extra:/var/db/kiss/repo/xorg + +# Delete junk from packages. +# +# This works exactly like '$PATH' (Colon separated). +# +# A list of paths and files to remove from built packages. +# +# Set this to a blank value to keep all of the below files +# and directories around. This can be customized to keep or +# remove whatever you like. +export KISS_RM=usr/share/doc:usr/share/gtk-doc:usr/share/info:usr/share/polkit-1:usr/share/gettext:usr/share/locale:etc/bash_completion.d:usr/share/zsh + +# Force package installation or removal. +# +# This can be used to bypass the dependency checks on installation +# and removal of packages. +# +# Set it to '1' to force. +export KISS_FORCE=0 + +# Root directory. +# +# Where installed packages will go. You won't ever need +# to touch this during normal usage. +# +# This can be used to have the package manager run in a "fake root". +export KISS_ROOT=/ + +# Keep build, package and extraction cache directories for debugging +# purposes. +# +# Set it to '1' to enable. +export KISS_DEBUG=0 + +# Use a reproducible cache naming scheme. +# +# The package manager builds packages inside 'build-$PID/' with '$PID' +# being the package manager's process ID. This allows for multiple +# builds to happen at once. +# +# You can override this and _know_ the location beforehand with the +# below environment variable. 'KISS_PID=test' will build the package +# in 'build-test'. +# +# Unset by default. +export KISS_PID= + + +# +# non-package-manager related options. +# These are listed for clarity. +# + + +# Cache directory location. +export XDG_CACHE_HOME=$HOME/.cache/ + +# Compiler. +export CC=gcc +export CXX=g++ + +# AR. +export AR=ar + +# NM. +export NM=nm + +# RANLIB. +export RANLIB=ranlib + +# Compiler flags. +# Good value: CFLAGS/CXXFLAGS='-march=native -pipe -O2' +export CFLAGS= +export CXXFLAGS= + +# Linker flags. +export LDFLAGS= + +# Make flags. +# Good value: MAKEFLAGS='-j 4' (number of cores). +export MAKEFLAGS= +``` + ## Extending the package manager See: https://github.com/kisslinux/kiss-utils - -## Shell compatibility - -KISS is written in POSIX `sh` though each shell has its own set of quirks. Below are the currently known to work and tested shells (as `/bin/sh`). - -- `ash` -- `dash` -- `bash` diff --git a/kiss.1 b/kiss.1 new file mode 100644 index 0000000..ef0c6dd --- /dev/null +++ b/kiss.1 @@ -0,0 +1,128 @@ +. +.TH KISS "1" "October 2019" "kiss" "User Commands" +.SH NAME +kiss +.SH DESCRIPTION +Tiny and straightforward package manager for KISS written in POSIX sh. +.PP +.SH "Usage" +. +.nf + +-> kiss [b|c|i|l|r|s|u] [pkg] [pkg] [pkg] +-> build: Build a package +-> checksum: Generate checksums +-> install: Install a package +-> list: List installed packages +-> remove: Remove a package +-> search: Search for a package +-> update: Check for updates +. +.fi +. +.SH "Customization" +. +.nf + +# The package manager is controlled through environment variables. +# +# These can be set in your '.profile' or '/etc/profile.d' to have +# the options apply all the time. +# +# These can also be set in the current shell to have them apply +# only for the current session. +# +# NOTE: The values shown below are the defaults. + +# Managing repositories. +# +# This works exactly like '$PATH' (Colon separated). +# +# A list of repositories the package manager will use. You can +# add your own repositories or remove the default ones. +export KISS_PATH=/var/db/kiss/repo/core:/var/db/kiss/repo/extra:/var/db/kiss/repo/xorg + +# Delete junk from packages. +# +# This works exactly like '$PATH' (Colon separated). +# +# A list of paths and files to remove from built packages. +# +# Set this to a blank value to keep all of the below files +# and directories around. This can be customized to keep or +# remove whatever you like. +export KISS_RM=usr/share/doc:usr/share/gtk-doc:usr/share/info:usr/share/polkit-1:usr/share/gettext:usr/share/locale:etc/bash_completion.d:usr/share/zsh + +# Force package installation or removal. +# +# This can be used to bypass the dependency checks on installation +# and removal of packages. +# +# Set it to '1' to force. +export KISS_FORCE=0 + +# Root directory. +# +# Where installed packages will go. You won't ever need +# to touch this during normal usage. +# +# This can be used to have the package manager run in a "fake root". +export KISS_ROOT=/ + +# Keep build, package and extraction cache directories for debugging +# purposes. +# +# Set it to '1' to enable. +export KISS_DEBUG=0 + +# Use a reproducible cache naming scheme. +# +# The package manager builds packages inside 'build-$PID/' with '$PID' +# being the package manager's process ID. This allows for multiple +# builds to happen at once. +# +# You can override this and _know_ the location beforehand with the +# below environment variable. 'KISS_PID=test' will build the package +# in 'build-test'. +# +# Unset by default. +export KISS_PID= + + +# +# non-package-manager related options. +# These are listed for clarity. +# + + +# Cache directory location. +export XDG_CACHE_HOME=$HOME/.cache/ + +# Compiler. +export CC=gcc +export CXX=g++ + +# AR. +export AR=ar + +# NM. +export NM=nm + +# RANLIB. +export RANLIB=ranlib + +# Compiler flags. +# Good value: CFLAGS/CXXFLAGS='-march=native -pipe -O2' +export CFLAGS= +export CXXFLAGS= + +# Linker flags. +export LDFLAGS= + +# Make flags. +# Good value: MAKEFLAGS='-j 4' (number of cores). +export MAKEFLAGS= + +. +.fi +.