aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kiss.1306
1 files changed, 148 insertions, 158 deletions
diff --git a/kiss.1 b/kiss.1
index a55be25..b3d77a9 100644
--- a/kiss.1
+++ b/kiss.1
@@ -1,184 +1,165 @@
-.
-.TH KISS "1" "October 2019" "kiss" "User Commands"
+.TH KISS "1" "2020-04-03" "CARBS LINUX" "General Commands Manual"
.SH NAME
kiss
.SH DESCRIPTION
Tiny and straightforward package manager for KISS written in POSIX sh.
.PP
-.SH "Usage"
-.
-.nf
-
--> kiss [a|b|c|f|i|l|r|s|u|v] [pkg] [pkg] [pkg]
--> alternatives: List and swap to alternatives
--> build: Build a package
--> checksum: Generate checksums
--> fetch: Fetch repositories
--> 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
+.SH SYNOPSIS
+.IP kiss
+[a|b|c|f|i|l|r|s|u|v] [pkg] [pkg] [pkg]
+.PP
+.SH OPTIONS
+.TP
+\fBalternatives\fR List and swap to alternatives
+.TP
+\fBbuild\fR Build a package
+.TP
+\fBchecksum\fR Generate checksums
+.TP
+\fBfetch\fR Fetch repositories
+.TP
+\fBinstall\fR Install a package
+.TP
+\fBlist\fR List installed packages
+.TP
+\fBremove\fR Remove a package
+.TP
+\fBsearch\fR Search for a package
+.TP
+\fBupdate\fR Check for updates
+.TP
+\fBversion\fR Package manager version
+.PP
.
.fi
.
-.SH "Customization"
+.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
-
-# 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 .
-# $TYPE: The type of hook (valid: pre-build, post-build).
-# $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)
-# : "${DEST:?DEST is unset}"
-#
-# rm -rf "$DEST/usr/share/doc"
-# rm -rf "$DEST/usr/share/gettext"
-# ;;
-# esac
-#
-export KISS_HOOK=/path/to/script
-
-# 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=/
+The package manager is controlled through environment variables.
-# Keep build logs around for successful builds and not just failing
-# ones. Helpful when debugging.
-#
-# Set it to '1' to enable.
-export KISS_KEEPLOG=0
-
-# Compression method to use for package tarballs.
-#
-# Valid options: 'bz2', 'gz' (default), 'xz', 'zst'
-export KISS_COMPRESS=gz
-
-# Keep build, package and extraction cache directories for debugging
-# purposes.
-#
-# Set it to '1' to enable.
-export KISS_DEBUG=0
+These can be set in your \fI~/.profile\fR or \fI/etc/profile.d\fR
+to have the options apply all the time.
-# Force the usage of a different 'sudo' tool.
-#
-# Values: 'su', 'sudo', 'doas'
-export KISS_SU=
+These can also be set in the current shell to have them apply
+only for the current session.
-# 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=
+\fBNOTE:\fR The values shown below are the defaults.
+.SS MANAGING REPOSITORIES
+.
+This works exactly like \fI$PATH\fR (Colon seperated).
-#
-# non-package-manager related options.
-# These are listed for clarity.
-#
+A list of repositories the package manager will use. You can
+add your own repositories or remove the default ones.
+.IP
+.nf
+export KISS_PATH=/var/db/kiss/repo/core:/var/db/kiss/repo/extra:/var/db/kiss/repo/xorg
+.fi
+.PP
+.SS FORCE PACKAGE INSTALLATION OR REMOVAL
+This can be used to bypass the dependency checks on installation
+and removal of packages.
+Set it to \fB'1'\fR to force.
-# Cache directory location.
-export XDG_CACHE_HOME=$HOME/.cache/
+.IP
+.nf
+export KISS_FORCE=0
+.fi
+.PP
+.SS 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.
+
+.TP
+.B $PKG:
+Name of the current package.
+.TP
+.B $TYPE:
+The type of hook (pre-build, post-build, build-fail, pre-install, post-install).
+.TP
+.B $DEST:
+The full path to where 'make install' will put the package.
-# Compiler.
-export CC=gcc
-export CXX=g++
+.PP
+.B SIMPLE EXAMPLE SCRIPT
+.nf
-# AR.
-export AR=ar
+case $TYPE in
+ pre-build)
+ case $PKG in
+ zlib) export CFLAGS="-Os -static" ;;
+ curl) export CFLAGS="-O3" ;;
+ esac
+ ;;
+
+ post-build)
+ : "${DEST:?DEST is unset}"
+
+ rm -rf "$DEST/usr/share/doc"
+ rm -rf "$DEST/usr/share/gettext"
+ ;;
+esac
+.fi
-# NM.
-export NM=nm
+export KISS_HOOK=/path/to/script
+.SS ROOT DIRECTORY
-# RANLIB.
-export RANLIB=ranlib
+Where installed packages will go. You won't ever need
+to touch this during normal usage.
-# Compiler flags.
-# Good value: CFLAGS/CXXFLAGS='-march=native -pipe -O2'
-export CFLAGS=
-export CXXFLAGS=
+This can be used to have the package manager run in a "fake root".
+.IP
+export KISS_ROOT=/
+.PP
-# Linker flags.
-export LDFLAGS=
+.SS KEEPING LOGS
+Keep build logs around for successful builds and not just failing ones.
+Helpful when debugging.
-# Make flags.
-# Good value: MAKEFLAGS='-j4' (number of cores).
-export MAKEFLAGS=
+Set it to \fB'1'\fR to enable.
+.IP
+export KISS_KEEPLOG=0
+.PP
+.SS KEEPING BUILD FILES
+You can keep build, package and extraction cache directories for debugging
+purposes.
-# Ninja (Samurai) flags.
-# Good value: SAMUFLAGS='-j4' (number of cores).
-export SAMUFLAGS=
+Set it to \fB'1'\fR to enable.
+.IP
+export KISS_DEBUG=0
+.PP
+.SS CHANGING COMPRESSION METHOD
+\fBKISS\fR by default uses gzip for packaging, but it can be changed. Valid
+options are \fIbz2\fR, \fIgz\fR (default), \fIxz\fR, \fIzst\fR. If an unknown
+compression method is specified, it fallbacks to \fIgz\fR.
+.IP
+export KISS_COMPRESS=gz
+.PP
+.SS SUDO UTILITIES
+You can force the usage of a different \fB'sudo'\fR tool. Available options are
+\fIsu\fR, \fIsudo\fR, \fIdoas\fR.
+.IP
+export KISS_SU=
+.PP
+.SS USE A REPRODUCIBLE CACHE NAMING SCHEME
-# Cmake Generator.
-# Good value (Ninja): export CMAKE_GENERATOR='Ninja'
-# Good value (Makefiles): export CMAKE_GENERATOR='Unix Makefiles'
-export CMAKE_GENERATOR=
+The package manager builds packages inside \fIbuild-$PID/\fR with \fI$PID\fR
+being the package manager's process ID. This allows for multiple
+builds to happen at once.
-.
-.fi
-.
-.SH "Alternatives System"
-.
-.nf
+You can override this and \fIknow\fR the location beforehand with the
+below environment variable. \fIKISS_PID=test\fR will build the package
+in \fIbuild-test\fR.
+Unset by default.
+.IP
+export KISS_PID=
+.PP
+.SH ALTERNATIVES SYSTEM
When a package with conflicts is installed the conflicting
files will be added as "choices" to the alternatives system.
@@ -186,10 +167,10 @@ 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.
-NOTE: To disable this functionality, set 'KISS_CHOICE=0'.
-
-Example usage:
+\fBNOTE:\fR To disable this functionality, set 'KISS_CHOICE=0'.
+.SS EXAMPLE USAGE
+.nf
# List alternatives.
-> kiss a
-> Alternatives:
@@ -220,7 +201,6 @@ Example usage (complex):
# List alternatives.
-> kiss a
--> Alternatives:
# More lines...
sbase /usr/bin/uuencode
sbase /usr/bin/wc
@@ -236,7 +216,6 @@ 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
@@ -244,3 +223,14 @@ busybox /usr/bin/which
busybox /usr/bin/whoami
busybox /usr/bin/xargs
busybox /usr/bin/yes
+.fi
+
+.SH AUTHORS
+Cem Keylan, Fork Maintainer, Carbs Linux
+.br
+<cem@ckyln.com>
+.PP
+Dylan Araps, Original Author, KISS Linux
+
+.SH LICENSE
+See LICENSE for copyright information