aboutsummaryrefslogtreecommitdiff
path: root/man/kiss.1
diff options
context:
space:
mode:
Diffstat (limited to 'man/kiss.1')
-rw-r--r--man/kiss.1239
1 files changed, 239 insertions, 0 deletions
diff --git a/man/kiss.1 b/man/kiss.1
new file mode 100644
index 0000000..0bca561
--- /dev/null
+++ b/man/kiss.1
@@ -0,0 +1,239 @@
+.TH KISS "1" "2020-04-03" "CARBS LINUX" "General Commands Manual"
+.SH NAME
+kiss
+.SH DESCRIPTION
+Tiny and straightforward package manager for Carbs Linux
+written in POSIX sh. Forked from KISS Linux.
+.PP
+.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
+.
+The package manager is controlled through environment variables.
+
+These can be set in your \fI~/.profile\fR or \fI/etc/profile.d\fR
+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.
+
+\fBNOTE:\fR The values shown below are the defaults.
+
+.SS MANAGING REPOSITORIES
+.
+This works exactly like \fI$PATH\fR (Colon seperated).
+
+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.
+
+.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.
+
+.PP
+.B SIMPLE EXAMPLE SCRIPT
+.nf
+
+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
+
+export KISS_HOOK=/path/to/script
+.SS 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".
+.IP
+export KISS_ROOT=/
+.PP
+
+.SS KEEPING LOGS
+Keep build logs around for successful builds and not just failing ones.
+Helpful when debugging.
+
+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.
+
+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
+
+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.
+
+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.
+
+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.
+
+\fBNOTE:\fR To disable this functionality, set 'KISS_CHOICE=0'.
+
+.SS EXAMPLE USAGE
+.nf
+# 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
+# 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
+# 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
+.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
+.SH SEE ALSO
+kiss-contrib(1)