cpt

[ARCHIVED] Carbs Packaging Tools
git clone git://git.ckyln.com/~cem/cpt.git
Log | Files | Refs | README | LICENSE

commit 1da63b99ceb92329716e33ef8976b81494fdfa56
parent e4c148973ab0aac171a5433ae1e43bf0b1676eb9
Author: Cem Keylan <cem@ckyln.com>
Date:   Sun,  5 Apr 2020 02:24:40 +0300

man: add kiss-contrib.1

Diffstat:
Dkiss.1 | 237-------------------------------------------------------------------------------
Aman/kiss-contrib.1 | 140+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aman/kiss.1 | 239+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 379 insertions(+), 237 deletions(-)

diff --git a/kiss.1 b/kiss.1 @@ -1,237 +0,0 @@ -.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 diff --git a/man/kiss-contrib.1 b/man/kiss-contrib.1 @@ -0,0 +1,140 @@ +.TH KISS-CONTRIB 1 2020-04-04 "CARBS LINUX" "General Commands Manual" +.SH NAME +kiss utilities +.SH DESCRIPTION +This manual page is not for a single program, but for multiple +utilities. Programs are explained in their own sections. They +are listed alphabetically. +.SH KISS-CARGO-URLGEN +.B kiss-cargo-urlgen +[pkg+ver] [pkg+ver] + +Creates a list of static cargo urls which can be added to the \fBsources\fR +file of a \fIRust\fR package. It takes arguments as the package name, plus +sign, and the version number. +.SH KISS-CARGOLOCK-URLGEN +.B kiss-cargolock-urlgen +<Cargo.lock file> + +Does the same as \fBkiss-cargo-urlgen\fR, but gets the package and version +information from a \fICargo.lock\fR file. +.SH KISS-CAT +.B kiss-cat +<pkg> [file] [file] + +Concatanates a package's files inside the system database. If no file is +specified, it looks for \fBbuild\fR, \fBdepends\fR, \fBsources\fR, and +\fBversion\fR. +.SH KISS-CHBUILD +.B kiss-chbuild + +kiss-chbuild, creates a temporary rootfs, and chroots into it. + +If it doesn't already exist, kiss-chbuild downloads the rootfs tarball to +your cache directory and extracts it into a \fBcarbs-chroot\fR directory. + +It then copies the chroot to a temporary directory, and runs kiss-chroot +to it. It removes the temporary chroot after the user exits. +.SH KISS-CHROOT +.B kiss-chroot +<directory> + +Mounts the required devices to the given directory, copies /etc/resolv.conf +from host, and chroots into the given directory. Cleans up after exit. +.SH KISS-DEPENDS +.B kiss-depends +<pkg> + +Checks the dependencies of an installed package. +.SH KISS-DEPENDSFINDER +.B kiss-depends-finder +<pkg> + +Finds the missing dependencies of packages by checking linked libraries/files. +.SH KISS-EXPORT +.B kiss-export +<pkg> + +Exports a package tarball of an installed package. +.SH KISS-FORK +.B kiss-fork +<pkg> + +Copies the repository directory of the given package to the current working +directory. +.SH KISS-LINK +.B kiss-link +[file] [file] + +Links files from a package in the repository. It looks for the package by +the directory name, but this can be overriden by getting a PKG environment +value. + +.IP \fBExample:\fR +.nf +$ kiss-fork git +forked package to /home/cem/.local/repositories/overrides/git +$ cd git +$ kiss-link checksums version sources +linked /home/cem/.local/repositories/main/core/git/version to /home/cem/.local/repositories/overrides/git/version +linked /home/cem/.local/repositories/main/core/git/sources to /home/cem/.local/repositories/overrides/git/sources +linked /home/cem/.local/repositories/main/core/git/checksums to /home/cem/.local/repositories/overrides/git/checksums +.fi +.PP +.SH KISS-MAINTAINER +.B kiss-maintainer +<pkg> + +Checks repository commit information of the given package to find out +the maintainer of the package. +.SH KISS-MANIFEST +.B kiss-manifest +<pkg> + +Prints the manifest file. +.SH KISS-MANIFEST-TREE +.B kiss-manifest-tree +<pkg> + +Prints the manifest file in a tree view. +.SH KISS-NEW +.B kiss-new +<name> [version] [sources] + +Creates a boilerplate KISS package. +.SH KISS-ORPHANS +.B kiss-orphans + +Shows orphaned packages. These packages do not have any dependent packages +installed and can be removed. +.SH KISS-OUTDATED +.B kiss-outdated + +Checks \fIrepology.org\fR to see if any installed packages are outdated. This +can be used to check if personal packages are outdated. +.SH KISS-OWNS +.B kiss-owns +<file> + +Checks which package has installed the given file. +.SH KISS-REPODEPENDS +.B kiss-repodepends +<pkg> + +Prints the dependencies of the given package as they are defined in the repository. +.SH KISS-RESET +.B kiss-reset + +Removes all packages except the base packages. +.SH KISS-REVDEPENDS +.B kiss-revdepends +<pkg> + +Prints the packages that depend on the given package. (Reverse dependencies) +.SH KISS-SIZE +.B kiss-size +<pkg> + +Prints the given package's size, and its individual files. +.SH SEE ALSO +kiss(1) diff --git a/man/kiss.1 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)