diff options
Diffstat (limited to 'man/kiss.1')
-rw-r--r-- | man/kiss.1 | 239 |
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) |