site

bvnf.space sources
Log | Files | Refs

commit 14dcaecae22949ca495992cd93aa741e94a9ee3c
parent fd9e103a350bdda6de083728eb02c3677d1663ec
Author: phoebos <ben@bvnf.space>
Date:   Wed,  4 Jun 2025 14:00:34 +0100

add kiss manpages

Diffstat:
AMakefile | 7+++++++
Mindex.html | 1+
Aman/.gitignore | 1+
Aman/Makefile | 16++++++++++++++++
Aman/kiss.1 | 182+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aman/kiss.5 | 147+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aman/mandoc.css | 386+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
7 files changed, 740 insertions(+), 0 deletions(-)

diff --git a/Makefile b/Makefile @@ -0,0 +1,7 @@ +.POSIX: + +all: blog man +blog man: + cd $@ && $(MAKE) + +.PHONY: all blog man diff --git a/index.html b/index.html @@ -35,6 +35,7 @@ <li>download some <a href="/pub/">tarballs</a></li> <li>read some <a href="/logs/">IRC logs</a></li> <li>look at an <a href="//kiss.bvnf.space/">archive of the KISS website</a></li> + <li>read manpages for kiss: <a href="man/kiss.1.html">kiss.1</a>, <a href="man/kiss.5.html">kiss.5</a></li> <li>browse <a href="misc/">miscellaneous stuff</a></li> <li><a href="gemini://bvnf.space/">Gemini server</a></li> </ul> diff --git a/man/.gitignore b/man/.gitignore @@ -0,0 +1 @@ +*.html diff --git a/man/Makefile b/man/Makefile @@ -0,0 +1,16 @@ +.POSIX: + +HTML = kiss.1.html kiss.5.html +MAN = kiss.1 kiss.5 + +all: ${HTML} + +kiss.1.html: kiss.1 + mandoc -Thtml -O man="%N.%S.html",style="mandoc.css" -Ios="KISS Linux" kiss.1 > $@ +kiss.5.html: kiss.5 + mandoc -Thtml -O man="%N.%S.html",style="mandoc.css" -Ios="KISS Linux" kiss.5 > $@ + +clean: + rm -f ${HTML} + +.PHONY: clean all diff --git a/man/kiss.1 b/man/kiss.1 @@ -0,0 +1,182 @@ +.Dd December 23, 2022 +.Dt KISS 1 +.Os +.Sh NAME +.Nm kiss +.Nd package manager +.Sh SYNOPSIS +.Nm +.Op Ar a|b|c|d|H|i|l|p|r|s|u|U|v +.Op Ar pkg... +.Sh DESCRIPTION +.Nm +is a tiny, self-contained package manager written in POSIX-compliant shell +script. +It is written with portability in mind. +.Pp +Running +.Nm +without any arguments prints help output. +Every action can be written as the full name or aliased by the first letter: +.Bl -tag -width Ds +.It Ar a|alternatives +List and swap package alternatives +.It Ar b|build +Build packages +.It Ar c|checksum +Generate checksums +.It Ar d|download +Download sources +.It Ar H|help-ext +List all installed extensions (see +.Sx Extensions ) . +.It Ar i|install +Install packages +.It Ar l|list +List installed packages +.It Ar p|preferred +List the owners of all files with alternatives +.It Ar r|remove +Remove packages +.It Ar s|search +Search for packages +.It Ar u|update +Update the repositories +.It Ar U|upgrade +Update the system +.It Ar v|version +Print package manager version +.El +.Ss Extensions +Anything in the user's +.Ev $PATH +which matches the glob +.Ql kiss-* +will be directly usable via the package manager. +The shortest available alias may also be used for each extension. +The second line in the script acts as a one-line doc string. +The default extensions are: +.Bl -tag -width Ds +.It Ar chroot +Enter a kiss chroot +.It Ar depends +Display a package's dependencies +.It Ar fork +Copy a package's repository files into the current directory +.It Ar help +Read KISS documentation +.It Ar link +Link a repository file to another repository +.It Ar maintainer +Find the maintainer of a package +.It Ar manifest +Display all files owned by a package +.It Ar new +Create a boilerplate package +.It Ar orphans +List orphaned packages +.It Ar outdated +Check repository for outdated packages +.It Ar owns +Check which package owns a file +.It Ar revdepends +Display packages which depend on package +.It Ar size +Show the size on disk for a package +.El +.Sh ENVIRONMENT +.Bl -tag -width Ds +.It Ev KISS_CHK +The utility to use for SHA256 checksums. +.Pp +Valid: openssl, sha256, sha256sum, shasum, digest. +Default is the first available in that order. +.It Ev KISS_CHOICE +Set to +.Ql 0 +to disable the alternatives system and error on any detected file +conflicts. +.It Ev KISS_COLOR +Set to +.Ql 0 +to disable colorful output; otherwise colors are disabled when the +utput is not a terminal. +.It Ev KISS_COMPRESS +Compression method to use for built package tarballs. +.Pp +Valid: gz (default), bz2, lzma, lz, xz, zst. +.It Ev KISS_DEBUG +Set to +.Ql 1 +to avoid deleting temporary directories after building packages, for +debugging. +.It Ev KISS_ELF +Which readelf command to use. +.Pp +Valid: readelf (default), *-readelf, ldd. +.It Ev KISS_FORCE +Set to +.Ql 1 +to bypass dependency checks and force building/installation/removal +of packages. +.It Ev KISS_GET +Which utility to use when downloading sources. +.Pp +Valid: aria2c, axel, curl, wget, wget2. +Default is the first available in that order. +.It Ev KISS_HOOK +A colon-separated list of absolute paths to executable files which are run as +hooks. +.It Ev KISS_KEEPLOG +Set to +.Ql 1 +to keep build logs for successful builds as well as failing ones. +.It Ev KISS_PATH +A colon-separated list of paths to repositories, directories which contain +packages. +Repositories earlier in the list have a higher priority in the case of a package +being found in multiple repos. +.It Ev KISS_PID +Used to determine the exact name of temporary directories, can be specified for +debugging. +.It Ev KISS_PROMPT +Set to +.Ql 0 +to say +.Dq yes +and skip all prompts from the package manager. +.It Ev KISS_ROOT +Where installed packages will go. +Can be used to install packages to somewhere other than +.Pa / . +.It Ev KISS_STRIP +Set to +.Ql 0 +to disable stripping package binaries and libraries globally. +.It Ev KISS_SU +Privilege escalation utility to use. +.Pp +Valid: ssu, sudo, doas, su, or any other tool compatible with sudo-like +arguments. +.It Ev KISS_TMPDIR +Temporary directory used for builds. +Can be set to a tmpfs (often +.Pa /tmp +for example) so that builds happen in memory +and are faster. +.El +.Sh FILES +.Nm +does not use any configuration files. +Files used in packages are documented in +.Xr kiss 5 . +.Sh EXIT STATUS +.Ex -std +.Sh SEE ALSO +.Xr kiss 5 , +.Lk https://kisslinux.org/wiki/package-manager +.Sh AUTHORS +.Nm +was created by +.An Dylan Araps +and the community. diff --git a/man/kiss.5 b/man/kiss.5 @@ -0,0 +1,147 @@ +.Dd December 23, 2022 +.Dt KISS 5 +.Os +.Sh NAME +.Nm kiss +.Nd package format +.Sh DESCRIPTION +KISS packages are comprised of a directory and the series of files contained +within. +The name of the package is derived from its directory name. +The files which comprise the system are as follows: +.TS +center box tab(|); +lb|lb +l|l. +File | Required +_ +build | yes +checksums | no +depends | no +sources | no +version | yes + +pre-remove | no +post-install | no +.TE +.Ss build +The +.Pa build +file is executed in the directory containing the package's extracted +sources. +Unlike other distributions, a +.Ic cd +is not needed as sources have their top-level directory components stripped +away. +.Pp +The build file is given two arguments: the destination directory (where +artifacts should be installed) and the first field of the package's version file +(verbatim). +.Pp +The build file is given a modified environment containing DESTDIR, KISS_ROOT, +GOPATH and generic defaults for toolchain variables (if unset by the user). +The toolchain defaults are as follows: +.Bd -literal -offset indent +AR=ar +CC=cc +CXX=c++ +NM=nm +RANLIB=ranlib +RUSTFLAGS="--remap-path-prefix=$PWD=. $RUSTFLAGS" +GOFLAGS="-trimpath -modcacherw $GOFLAGS" +.Ed +.Ss checksums +The +.Pa checksums +file is generated by the package manager +.Ql ( kiss c pkg ) +and is derived from files listed in the package's +.Pa sources +file. +Directories and git repositories do not require checksums. +.Pp +Checksum verification can be disabled for a source by replacing its checksum +with 'SKIP' in the checksums file. +The package manager will notify you when this occurs. +.Ss depends +The +.Pa depends +file contains the package's dependencies listed one per line in alphabetical +order. +Duplicate entries are not supported. +The second optional field denotes the dependency type (unset for runtime, +.Dq make +for compile-time). +Lines beginning with +.Ql # +are comments. +.Ss sources +The +.Pa sources +file contains the package's sources one per line. +A valid source is a URL to a file, relative path, absolute path or Git +repository. +The optional second field denotes the relative destination directory. +Lines beginning with +.Ql # +are comments. +.Pp +Git repositories must be prefixed with +.Ql git+ . +An optional suffix is supported to checkout a specific branch +.Ql ( @BRANCH ) +or commit +.Ql ( #COMMIT ) . +All clones are shallow where supported by the remote server. +If no suffix is used, master is cloned. +.Pp +The following markers can be used to substitute version information. +These are replaced at runtime with their respective values. +Literal markers can be escaped by prepending a backslash. +.TS +center box tab(|); +l|l. +VERSION | The first field of the version file verbatim. +RELEASE | The second field of the version file verbatim. +MAJOR | The first component of VERSION split on .-_+ +MINOR | The second component of VERSION split on .-_+ +PATCH | The third component of VERSION split on .-_+ +IDENT | All other components. +PACKAGE | The name of the package. +.TE +.Ss version +The +.Pa version +file is a single line split into two mandatory fields. +The first field is the package's version and the second field the version of the +repository files themselves. +.Pp +If the package follows its upstream release schedule, the first field should +match the upstream version number. +If the source is a Git repository, the version should be set to +.Ql git . +If a specific git commit is used, the version number should match accordingly. +.Ss pre-remove +The +.Pa pre-remove +file is executed before removal of the package. +This file should be used to perform any required pre-removal steps or to display +notices. +.Ss post-install +The +.Pa post-install +file is executed after installation of the package. +This file +should be used to perform any required post-install steps or to display notices. +.Sh SEE ALSO +.Xr kiss 1 , +.Lk https://kisslinux.org/wiki/package-system +.Sh HISTORY +Originally, SHA256 was used as the checksum algorithm. +In September 2022, the checksums were switched to use BLAKE3 for speed +improvements. +.Sh AUTHORS +.Nm +was created by +.An Dylan Araps +and the community. diff --git a/man/mandoc.css b/man/mandoc.css @@ -0,0 +1,385 @@ +/* $OpenBSD: mandoc.css,v 1.36 2022/03/17 18:45:43 schwarze Exp $ */ +/* + * Standard style sheet for mandoc(1) -Thtml and man.cgi(8). + * + * Written by Ingo Schwarze <schwarze@openbsd.org>. + * I place this file into the public domain. + * Permission to use, copy, modify, and distribute it for any purpose + * with or without fee is hereby granted, without any conditions. + */ + +/* Global defaults. */ + +html { max-width: 65em; + --bg: #FFFFFF; + --fg: #000000; } +body { background: var(--bg); + color: var(--fg); + font-family: Helvetica,Arial,sans-serif; } +h1 { font-size: 110%; } +table { margin-top: 0em; + margin-bottom: 0em; + border-collapse: collapse; } +/* Some browsers set border-color in a browser style for tbody, + * but not for table, resulting in inconsistent border styling. */ +tbody { border-color: inherit; } +tr { border-color: inherit; } +td { vertical-align: top; + padding-left: 0.2em; + padding-right: 0.2em; + border-color: inherit; } +ul, ol, dl { margin-top: 0em; + margin-bottom: 0em; } +li, dt { margin-top: 1em; } +pre { font-family: inherit; } + +.permalink { border-bottom: thin dotted; + color: inherit; + font: inherit; + text-decoration: inherit; } +* { clear: both } + +/* Search form and search results. */ + +fieldset { border: thin solid silver; + border-radius: 1em; + text-align: center; } +input[name=expr] { + width: 25%; } + +table.results { margin-top: 1em; + margin-left: 2em; + font-size: smaller; } + +/* Header and footer lines. */ + +table.head { width: 100%; + border-bottom: 1px dotted #808080; + margin-bottom: 1em; + font-size: smaller; } +td.head-vol { text-align: center; } +td.head-rtitle { + text-align: right; } + +table.foot { width: 100%; + border-top: 1px dotted #808080; + margin-top: 1em; + font-size: smaller; } +td.foot-os { text-align: right; } + +/* Sections and paragraphs. */ + +.manual-text { + margin-left: 3.8em; } +.Nd { } +section.Sh { } +h1.Sh { margin-top: 1.2em; + margin-bottom: 0.6em; + margin-left: -3.2em; } +section.Ss { } +h2.Ss { margin-top: 1.2em; + margin-bottom: 0.6em; + margin-left: -1.2em; + font-size: 105%; } +.Pp { margin: 0.6em 0em; } +.Sx { } +.Xr { } + +/* Displays and lists. */ + +.Bd { } +.Bd-indent { margin-left: 3.8em; } + +.Bl-bullet { list-style-type: disc; + padding-left: 1em; } +.Bl-bullet > li { } +.Bl-dash { list-style-type: none; + padding-left: 0em; } +.Bl-dash > li:before { + content: "\2014 "; } +.Bl-item { list-style-type: none; + padding-left: 0em; } +.Bl-item > li { } +.Bl-compact > li { + margin-top: 0em; } + +.Bl-enum { padding-left: 2em; } +.Bl-enum > li { } +.Bl-compact > li { + margin-top: 0em; } + +.Bl-diag { } +.Bl-diag > dt { + font-style: normal; + font-weight: bold; } +.Bl-diag > dd { + margin-left: 0em; } +.Bl-hang { } +.Bl-hang > dt { } +.Bl-hang > dd { + margin-left: 5.5em; } +.Bl-inset { } +.Bl-inset > dt { } +.Bl-inset > dd { + margin-left: 0em; } +.Bl-ohang { } +.Bl-ohang > dt { } +.Bl-ohang > dd { + margin-left: 0em; } +.Bl-tag { margin-top: 0.6em; + margin-left: 5.5em; } +.Bl-tag > dt { + float: left; + margin-top: 0em; + margin-left: -5.5em; + padding-right: 0.5em; + vertical-align: top; } +.Bl-tag > dd { + clear: right; + column-count: 1; /* Force block formatting context. */ + width: 100%; + margin-top: 0em; + margin-left: 0em; + margin-bottom: 0.6em; + vertical-align: top; } +.Bl-compact { margin-top: 0em; } +.Bl-compact > dd { + margin-bottom: 0em; } +.Bl-compact > dt { + margin-top: 0em; } + +.Bl-column { } +.Bl-column > tbody > tr { } +.Bl-column > tbody > tr > td { + margin-top: 1em; } +.Bl-compact > tbody > tr > td { + margin-top: 0em; } + +.Rs { font-style: normal; + font-weight: normal; } +.RsA { } +.RsB { font-style: italic; + font-weight: normal; } +.RsC { } +.RsD { } +.RsI { font-style: italic; + font-weight: normal; } +.RsJ { font-style: italic; + font-weight: normal; } +.RsN { } +.RsO { } +.RsP { } +.RsQ { } +.RsR { } +.RsT { text-decoration: underline; } +.RsU { } +.RsV { } + +.eqn { } +.tbl td { vertical-align: middle; } + +.HP { margin-left: 3.8em; + text-indent: -3.8em; } + +/* Semantic markup for command line utilities. */ + +table.Nm { } +code.Nm { font-style: normal; + font-weight: bold; + font-family: inherit; } +.Fl { font-style: normal; + font-weight: bold; + font-family: inherit; } +.Cm { font-style: normal; + font-weight: bold; + font-family: inherit; } +.Ar { font-style: italic; + font-weight: normal; } +.Op { display: inline flow; } +.Ic { font-style: normal; + font-weight: bold; + font-family: inherit; } +.Ev { font-style: normal; + font-weight: normal; + font-family: monospace, monospace; + font-size: 0.9em; } +.Pa { font-style: italic; + font-weight: normal; } + +/* Semantic markup for function libraries. */ + +.Lb { } +code.In { font-style: normal; + font-weight: bold; + font-family: inherit; } +a.In { } +.Fd { font-style: normal; + font-weight: bold; + font-family: inherit; } +.Ft { font-style: italic; + font-weight: normal; } +.Fn { font-style: normal; + font-weight: bold; + font-family: inherit; } +.Fa { font-style: italic; + font-weight: normal; } +.Vt { font-style: italic; + font-weight: normal; } +.Va { font-style: italic; + font-weight: normal; } +.Dv { font-style: normal; + font-weight: normal; + font-family: monospace, monospace; + font-size: 0.9em; } +.Er { font-style: normal; + font-weight: normal; + font-family: monospace, monospace; + font-size: 0.9em; } + +/* Various semantic markup. */ + +.An { } +.Lk { } +.Mt { } +.Cd { font-style: normal; + font-weight: bold; + font-family: inherit; } +.Ad { font-style: italic; + font-weight: normal; } +.Ms { font-style: normal; + font-weight: bold; } +.St { } +.Ux { } + +/* Physical markup. */ + +.Bf { display: inline flow; } +.No { font-style: normal; + font-weight: normal; } +.Em { font-style: italic; + font-weight: normal; } +.Sy { font-style: normal; + font-weight: bold; } +.Li { font-style: normal; + font-weight: normal; + font-family: monospace, monospace; + font-size: 0.9em; } + +/* Tooltip support. */ + +h1.Sh, h2.Ss { position: relative; } +.An, .Ar, .Cd, .Cm, .Dv, .Em, .Er, .Ev, .Fa, .Fd, .Fl, .Fn, .Ft, +.Ic, code.In, .Lb, .Lk, .Ms, .Mt, .Nd, code.Nm, .Pa, .Rs, +.St, .Sx, .Sy, .Va, .Vt, .Xr { + position: relative; } + +.An::before { content: "An"; } +.Ar::before { content: "Ar"; } +.Cd::before { content: "Cd"; } +.Cm::before { content: "Cm"; } +.Dv::before { content: "Dv"; } +.Em::before { content: "Em"; } +.Er::before { content: "Er"; } +.Ev::before { content: "Ev"; } +.Fa::before { content: "Fa"; } +.Fd::before { content: "Fd"; } +.Fl::before { content: "Fl"; } +.Fn::before { content: "Fn"; } +.Ft::before { content: "Ft"; } +.Ic::before { content: "Ic"; } +code.In::before { content: "In"; } +.Lb::before { content: "Lb"; } +.Lk::before { content: "Lk"; } +.Ms::before { content: "Ms"; } +.Mt::before { content: "Mt"; } +.Nd::before { content: "Nd"; } +code.Nm::before { content: "Nm"; } +.Pa::before { content: "Pa"; } +.Rs::before { content: "Rs"; } +h1.Sh::before { content: "Sh"; } +h2.Ss::before { content: "Ss"; } +.St::before { content: "St"; } +.Sx::before { content: "Sx"; } +.Sy::before { content: "Sy"; } +.Va::before { content: "Va"; } +.Vt::before { content: "Vt"; } +.Xr::before { content: "Xr"; } + +.An::before, .Ar::before, .Cd::before, .Cm::before, +.Dv::before, .Em::before, .Er::before, .Ev::before, +.Fa::before, .Fd::before, .Fl::before, .Fn::before, .Ft::before, +.Ic::before, code.In::before, .Lb::before, .Lk::before, +.Ms::before, .Mt::before, .Nd::before, code.Nm::before, +.Pa::before, .Rs::before, +h1.Sh::before, h2.Ss::before, .St::before, .Sx::before, .Sy::before, +.Va::before, .Vt::before, .Xr::before { + opacity: 0; + transition: .15s ease opacity; + pointer-events: none; + position: absolute; + bottom: 100%; + box-shadow: 0 0 .35em var(--fg); + padding: .15em .25em; + white-space: nowrap; + font-family: Helvetica,Arial,sans-serif; + font-style: normal; + font-weight: bold; + background: var(--bg); + color: var(--fg); } +.An:hover::before, .Ar:hover::before, .Cd:hover::before, .Cm:hover::before, +.Dv:hover::before, .Em:hover::before, .Er:hover::before, .Ev:hover::before, +.Fa:hover::before, .Fd:hover::before, .Fl:hover::before, .Fn:hover::before, +.Ft:hover::before, .Ic:hover::before, code.In:hover::before, +.Lb:hover::before, .Lk:hover::before, .Ms:hover::before, .Mt:hover::before, +.Nd:hover::before, code.Nm:hover::before, .Pa:hover::before, +.Rs:hover::before, h1.Sh:hover::before, h2.Ss:hover::before, .St:hover::before, +.Sx:hover::before, .Sy:hover::before, .Va:hover::before, .Vt:hover::before, +.Xr:hover::before { + opacity: 1; + pointer-events: inherit; } + +/* Overrides to avoid excessive margins on small devices. */ + +@media (max-width: 37.5em) { +.manual-text { + margin-left: 0.5em; } +h1.Sh, h2.Ss { margin-left: 0em; } +.Bd-indent { margin-left: 2em; } +.Bl-hang > dd { + margin-left: 2em; } +.Bl-tag { margin-left: 2em; } +.Bl-tag > dt { + margin-left: -2em; } +.HP { margin-left: 2em; + text-indent: -2em; } +} + +/* Overrides for a dark color scheme for accessibility. */ + +@media (prefers-color-scheme: dark) { +html { --bg: #1E1F21; + --fg: #EEEFF1; } +:link { color: #BAD7FF; } +:visited { color: #F6BAFF; } +} + +/* + FILE ARCHIVED ON 07:10:04 May 04, 2022 AND RETRIEVED FROM THE + INTERNET ARCHIVE ON 21:36:31 Mar 03, 2023. + JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. + + ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. + SECTION 108(a)(3)). +*/ +/* +playback timings (ms): + captures_list: 213.441 + exclusion.robots: 0.145 + exclusion.robots.policy: 0.135 + RedisCDXSource: 0.853 + esindex: 0.007 + LoadShardBlock: 184.418 (3) + PetaboxLoader3.datanode: 86.984 (5) + PetaboxLoader3.resolve: 322.693 (4) + load_resource: 305.141 (2) +*/ +\ No newline at end of file