diff options
-rw-r--r-- | kiss.1 | 306 |
1 files changed, 148 insertions, 158 deletions
@@ -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 |