2019-10-07 07:31:26 -06:00
|
|
|
.
|
|
|
|
.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
|
|
|
|
|
2020-06-12 09:21:41 -06:00
|
|
|
-> kiss [a|b|c|d|i|l|r|s|u|v] [pkg] [pkg] [pkg]
|
2020-02-06 06:28:19 -07:00
|
|
|
-> alternatives: List and swap to alternatives
|
|
|
|
-> build: Build a package
|
|
|
|
-> checksum: Generate checksums
|
2020-06-12 09:21:41 -06:00
|
|
|
-> download Pre-download all sources
|
2020-02-06 06:28:19 -07:00
|
|
|
-> install: Install a package
|
|
|
|
-> list: List installed packages
|
|
|
|
-> remove: Remove a package
|
|
|
|
-> search: Search for a package
|
|
|
|
-> update: Check for updates
|
|
|
|
-> version: Package manager version
|
2020-02-19 11:22:43 -07:00
|
|
|
|
2019-10-07 07:31:26 -06:00
|
|
|
.
|
|
|
|
.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
|
|
|
|
|
|
|
|
# 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
|
|
|
|
|
2020-02-07 06:39:56 -07:00
|
|
|
# Hook into kiss through a script.
|
|
|
|
#
|
|
|
|
# This can be used set custom CFLAGS per package, modify builds,
|
|
|
|
# etc. This environment variable must point to a shellscript.
|
|
|
|
#
|
|
|
|
# The script will have the following environment variables set.
|
|
|
|
#
|
|
|
|
# $PKG: Name of the current package .
|
2020-05-12 02:49:27 -06:00
|
|
|
# $TYPE: The type of hook (valid: pre-build, post-build, build-fail,
|
2020-06-05 22:39:58 -06:00
|
|
|
# pre-install, post-install,
|
2020-06-05 22:33:50 -06:00
|
|
|
# pre-extract, post-package).
|
2020-02-07 06:39:56 -07:00
|
|
|
# $DEST: The full path to where 'make install' will put the package.
|
|
|
|
#
|
|
|
|
# Simple example script:
|
|
|
|
#
|
|
|
|
# case $TYPE in
|
|
|
|
# pre-build)
|
|
|
|
# case $PKG in
|
|
|
|
# zlib) export CFLAGS="-Os -static" ;;
|
|
|
|
# curl) export CFLAGS="-O3" ;;
|
|
|
|
# esac
|
|
|
|
# ;;
|
|
|
|
#
|
|
|
|
# post-build)
|
2020-02-19 15:21:45 -07:00
|
|
|
# : "${DEST:?DEST is unset}"
|
|
|
|
#
|
|
|
|
# rm -rf "$DEST/usr/share/doc"
|
|
|
|
# rm -rf "$DEST/usr/share/gettext"
|
2020-02-07 06:39:56 -07:00
|
|
|
# ;;
|
|
|
|
# esac
|
|
|
|
#
|
|
|
|
export KISS_HOOK=/path/to/script
|
|
|
|
|
2020-05-12 03:37:40 -06:00
|
|
|
# Temporary directory (for builds).
|
|
|
|
# Allows one to build packages in ram or another location.
|
|
|
|
#
|
|
|
|
export KISS_TMPDIR=""
|
|
|
|
|
2019-10-07 07:31:26 -06:00
|
|
|
# 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=/
|
|
|
|
|
2020-05-12 03:03:13 -06:00
|
|
|
# Whether or not to color package manager output messages.
|
|
|
|
#
|
|
|
|
# Set it to '0' to disable.
|
|
|
|
export KISS_COLOR=1
|
|
|
|
|
2020-01-28 01:08:15 -07:00
|
|
|
# Keep build logs around for successful builds and not just failing
|
|
|
|
# ones. Helpful when debugging.
|
2019-10-07 07:31:26 -06:00
|
|
|
#
|
|
|
|
# Set it to '1' to enable.
|
2020-02-08 01:55:58 -07:00
|
|
|
export KISS_KEEPLOG=0
|
|
|
|
|
2020-05-12 02:49:27 -06:00
|
|
|
# Automatically say 'yes' to all prompts in the package manager.
|
|
|
|
# This is handy for scripting purposes.
|
|
|
|
#
|
2020-05-26 09:08:18 -06:00
|
|
|
# Set it to '0' to say 'yes' to all prompts.
|
|
|
|
export KISS_PROMPT=1
|
2020-05-12 02:49:27 -06:00
|
|
|
|
2020-03-15 04:57:49 -06:00
|
|
|
# Compression method to use for package tarballs.
|
|
|
|
#
|
2020-05-07 09:21:40 -06:00
|
|
|
# Valid options: 'bz2', 'gz' (default), 'lzma', 'lz', 'xz', 'zst'
|
2020-03-15 05:04:35 -06:00
|
|
|
export KISS_COMPRESS=gz
|
2020-03-15 04:57:49 -06:00
|
|
|
|
2020-02-08 01:55:58 -07:00
|
|
|
# Keep build, package and extraction cache directories for debugging
|
|
|
|
# purposes.
|
|
|
|
#
|
|
|
|
# Set it to '1' to enable.
|
2019-10-07 07:31:26 -06:00
|
|
|
export KISS_DEBUG=0
|
|
|
|
|
2020-01-30 02:05:07 -07:00
|
|
|
# Force the usage of a different 'sudo' tool.
|
|
|
|
#
|
|
|
|
# Values: 'su', 'sudo', 'doas'
|
|
|
|
export KISS_SU=
|
|
|
|
|
2019-10-07 07:31:26 -06:00
|
|
|
# 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.
|
2020-01-10 05:54:03 -07:00
|
|
|
# Good value: MAKEFLAGS='-j4' (number of cores).
|
2019-10-07 07:31:26 -06:00
|
|
|
export MAKEFLAGS=
|
|
|
|
|
2020-01-10 05:54:03 -07:00
|
|
|
# Ninja (Samurai) flags.
|
|
|
|
# Good value: SAMUFLAGS='-j4' (number of cores).
|
|
|
|
export SAMUFLAGS=
|
|
|
|
|
2019-11-16 08:55:44 -07:00
|
|
|
# Cmake Generator.
|
2020-01-10 05:36:05 -07:00
|
|
|
# Good value (Ninja): export CMAKE_GENERATOR='Ninja'
|
|
|
|
# Good value (Makefiles): export CMAKE_GENERATOR='Unix Makefiles'
|
2019-11-16 08:55:44 -07:00
|
|
|
export CMAKE_GENERATOR=
|
|
|
|
|
2019-10-07 07:31:26 -06:00
|
|
|
.
|
|
|
|
.fi
|
|
|
|
.
|
2020-01-29 03:36:22 -07:00
|
|
|
.SH "Alternatives System"
|
|
|
|
.
|
|
|
|
.nf
|
|
|
|
|
2020-02-19 11:22:43 -07:00
|
|
|
When a package with conflicts is installed the conflicting
|
2020-02-10 13:35:08 -07:00
|
|
|
files will be added as "choices" to the alternatives system.
|
2020-01-29 03:36:22 -07:00
|
|
|
|
|
|
|
Afterwards, running kiss a/kiss alternatives will list all of
|
|
|
|
the choices you are able to make. Each line of output with this
|
|
|
|
command is also usable directly as input.
|
|
|
|
|
2020-02-10 13:35:08 -07:00
|
|
|
NOTE: To disable this functionality, set 'KISS_CHOICE=0'.
|
2020-01-29 03:36:22 -07:00
|
|
|
|
|
|
|
Example usage:
|
|
|
|
|
|
|
|
# List alternatives.
|
|
|
|
-> kiss a
|
|
|
|
-> Alternatives:
|
|
|
|
ncurses /usr/bin/clear
|
|
|
|
ncurses /usr/bin/reset
|
|
|
|
|
|
|
|
# Swap to ncurses 'clear'.
|
|
|
|
-> kiss a ncurses /usr/bin/clear
|
|
|
|
-> Swapping '/usr/bin/clear' from 'busybox' to 'ncurses'
|
|
|
|
Password:
|
|
|
|
|
|
|
|
# New listing (busybox clear was swapped out).
|
|
|
|
-> kiss a
|
|
|
|
-> Alternatives:
|
|
|
|
busybox /usr/bin/clear
|
|
|
|
ncurses /usr/bin/reset
|
|
|
|
|
|
|
|
Example usage (complex):
|
|
|
|
|
|
|
|
-> kiss i sbase
|
|
|
|
# More lines...
|
|
|
|
-> sbase Found conflict (/usr/bin/renice), adding choice
|
|
|
|
-> sbase Found conflict (/usr/bin/logger), adding choice
|
|
|
|
-> sbase Found conflict (/usr/bin/flock), adding choice
|
|
|
|
-> sbase Found conflict (/usr/bin/cal), adding choice
|
|
|
|
-> sbase Installing package incrementally
|
|
|
|
-> sbase Installed successfully
|
|
|
|
|
|
|
|
# List alternatives.
|
|
|
|
-> kiss a
|
|
|
|
-> Alternatives:
|
|
|
|
# More lines...
|
|
|
|
sbase /usr/bin/uuencode
|
|
|
|
sbase /usr/bin/wc
|
|
|
|
sbase /usr/bin/which
|
|
|
|
sbase /usr/bin/whoami
|
|
|
|
sbase /usr/bin/xargs
|
|
|
|
sbase /usr/bin/yes
|
|
|
|
|
|
|
|
# Swapping in bulk (all of sbase).
|
|
|
|
# The 'kiss a' command with '-' as an argument will read
|
|
|
|
# from stdin and use each line as arguments to 'kiss a'.
|
|
|
|
kiss a | grep ^sbase | kiss a -
|
|
|
|
|
|
|
|
# New listing, sbase has replaced busybox utilities.
|
|
|
|
-> kiss a
|
|
|
|
-> Alternatives:
|
|
|
|
# More lines...
|
|
|
|
busybox /usr/bin/uuencode
|
|
|
|
busybox /usr/bin/wc
|
|
|
|
busybox /usr/bin/which
|
|
|
|
busybox /usr/bin/whoami
|
|
|
|
busybox /usr/bin/xargs
|
|
|
|
busybox /usr/bin/yes
|