diff options
| author | emmett1 <emmett1.2miligrams@protonmail.com> | 2024-12-22 03:19:44 +0800 |
|---|---|---|
| committer | emmett1 <emmett1.2miligrams@protonmail.com> | 2024-12-22 03:19:44 +0800 |
| commit | 7702b15c4ccd839932ad1378cacb7deec67c7d0c (patch) | |
| tree | 8f3ca49e8c1daef47bc627c51f03f02d8deaa492 /man | |
| parent | b4f8269c034d67612f3054e5cc7b4da30d3bd380 (diff) | |
| download | autils-7702b15c4ccd839932ad1378cacb7deec67c7d0c.tar.gz autils-7702b15c4ccd839932ad1378cacb7deec67c7d0c.zip | |
updated some docs
Diffstat (limited to 'man')
| -rw-r--r-- | man/apkg.conf.md | 45 | ||||
| -rw-r--r-- | man/apkg.md | 72 | ||||
| -rw-r--r-- | man/make-man.sh | 32 | ||||
| -rw-r--r-- | man/man5/apkg.conf.5 | 86 | ||||
| -rw-r--r-- | man/man8/apkg.8 | 181 | ||||
| -rw-r--r-- | man/man8/revdep.8 | 34 | ||||
| -rw-r--r-- | man/revdep.md | 29 |
7 files changed, 479 insertions, 0 deletions
diff --git a/man/apkg.conf.md b/man/apkg.conf.md new file mode 100644 index 0000000..d4aa590 --- /dev/null +++ b/man/apkg.conf.md @@ -0,0 +1,45 @@ +# NAME + +**apkg.conf** - configuration file for apkg + +# DESCRIPTION + +**apkg.conf** is the configuration file for the **apkg** package manager for the alice linux distribution. +It resides by default under `/etc` in an alice linux installation. +The contents are sourced by the **apkg** program and are in the posix shell `key="value"` format. + +# CONFIGURATION KEYS + +- `APKG_NOPROMPT` If set, it enables non-interactive use by disabling user confirmation prompt. +- `APKG_PACKAGE_DIR` Directory where the compiled packages will reside. +- `APKG_SOURCE_DIR` Directory that will hold the downloaded sources. +- `APKG_WORK_DIR` Directory where the actual building process will take place. This happens in subdirectories which are cleaned after completion. +- `APKG_LOG` If set, it enables the creation of a log for the program output. +- `export CFLAGS="<cflags>"` Default <cflags> are *-O3 -march=x86-64 -pipe* +- `export CXXFLAGS="$CFLAGS"` +- `export NINJAJOBS="<-x>"` Replace <-x> with the number of jobs the ninja build system with use. Without this it will use the maximum amount of threads the processor suports. +- `export MAKEFLAGS="-jx"` Replace <x> with the number of jobs the make build system with use. + +EXAMPLES + +``` +### example of a valid apkg.conf ### +export CFLAGS="-O3 -march=x86-64 -pipe" +export CXXFLAGS="$CFLAGS" +export MAKEFLAGS="-j12" +export NINJAJOBS="12" +APKG_REPO="/var/lib/alicelinux/repos/core /var/lib/alicelinux/repos/extra /var/lib/alicelinux/repos/xorg /var/lib/alicelinux/repos/wayland" +APKG_PACKAGE_DIR=/var/cache/pkg +APKG_SOURCE_DIR=/var/cache/src +APKG_WORK_DIR=/var/cache/work +``` + +# AUTHORS + +emmett1 <emmett1.2miligrams@protonmail.com> Author of the program and creator of alice linux. + +mobinmob <mobinmob@disroot.org> Author of the man page. + +# REPORTING BUGS + +**apkg** is in a working stage but also under heavy development. Please report and bugs/issues in the project issue tracker: https://codeberg.org/emmett1/autils/issues diff --git a/man/apkg.md b/man/apkg.md new file mode 100644 index 0000000..a692d1e --- /dev/null +++ b/man/apkg.md @@ -0,0 +1,72 @@ +# NAME + +**apkg** - package building tool and package manager for alice linux + +# SYNOPSIS + +**apkg** [-i] [-I] [-d] [-D] [-j] [-u] [-r] [-t] [-U ] [-f] [-o] [-p] [-s] [-g] [-h] [*pkg(s)*] + +# DESCRIPTION + +**apkg** is the package build tool and package installer, along with **spm** for the alice linux distribution. +It is written in posix shell with the goal to be simple and effective. It can consume package building templates in the abuild format +and automate the building and installing of packages. + +# OPTIONS + +Arguments for apkg are as follows: + +- **-h** Print help. +- **-i** *<pkg(s)>* Install package(s) without taking dependencies into account. Building will fail if the dependencies are not present in the system. +- **-I** *<pkg(s)>* Install package(s) with dependencies. +- **-d** *<pkg>* List only direct package dependencies +- **-D** *<pkg(s)>* List all dependencies for package(s) +- **-j** *<pkg>* List all reverse dependencies for the package (packages that depend on it). +- **-u** *<pkg(s)>* Upgrade package(s) +- **-r** *<pkg(s)>* Remove package(s) +- **-t** *<pkg(s)>* Run scripts for package(s) that update cache or dbs (mime, font cache e.t.c) +- **-U** Update system +- **-f** Force rebuild a package. +- **-o** *<pkg(s)>* Only download source for package(s), do not build and install +- **-p** *<pkg(s)>* Print full path to the package build template directory +- **-s** *<pattern>* Search for packages +- **-g** *<pkg>* Update or generate checksum(s) for the package source files. + +# ENVIRONMENT VARIABLES + +- `APKG_ROOT` Overrides default root location (/), where sw is installed +- `APKG_CONF` Overrides default location for the configuration file apkg.conf. The default is under /etc on an installed alice linux system. +- `APKG_NOPROMPT` If set, it enabled non-interactive use by disabling user confirmation prompt. +- `APKG_REPO` Double-quoted, space-separated list for the local directories that contain build templates. +- `APKG_PACKAGE_DIR` Directory where the compiled packages will reside. +- `APKG_SOURCE_DIR` Directory that will hold the downloaded sources. +- `APKG_WORK_DIR` Directory where the actual building process will take place. This happens in subdirectories which are cleaned after completion. +- `APKG_LOG` If set, it enables the creation of a log for the program output. + +**Note:** Usually, APKG_REPO, APKG_PACKAGE_DIR, APKG_SOURCE_DIR and APKG_WORK_DIR are declared in the apkg.conf configuration file. For more information, please see apkg.conf(5). + +# FILES + +- **apkg.conf(5)** is the default configuration file, it resides by default under /etc. +- **abuild** is the name of the package templates that apkg uses, along with relevant files in order to +build and installed packages. For example, one can look to the alice linux repos, under https://codeberg.org/emmett1/alicelinux/src/branch/main/repos + +# EXAMPLES + +`apkg -i linux` - Install the *linux* package + +`apkg -f jupp` - Force rebuild the *jupp* package. If someone tries with just `-i`, `apkg` will produce the following message +if the package is already installed: `[...] Package 'jupp' already installed.` + +`apkg -s icon` - Search for packages names that contain "icon", it will produce a list with one +package per line. + +# AUTHORS + +emmett1 <emmett1.2miligrams@protonmail.com> Author of the program and creator of alice linux. + +mobinmob <mobinmob@disroot.org> Author of the man page. + +# REPORTING BUGS + +**apkg** is in a working stage but also under heavy development. Please report and bugs/issues in the project issue tracker: https://codeberg.org/emmett1/autils/issues diff --git a/man/make-man.sh b/man/make-man.sh new file mode 100644 index 0000000..dd0a8c5 --- /dev/null +++ b/man/make-man.sh @@ -0,0 +1,32 @@ +#!/bin/sh + +# This script is derives from the original, written for Obarun Linux distribution by Eric Vidal. +# The original is released under BSD Zero Clause licence (BSD0), and can be found at https://git.obarun.org/Obarun/66/-/blob/master/doc/make-man.sh?ref_type=heads. + + +man8='apkg revdep' +man5='apkg.conf' + +for i in 5 8;do + if [ ! -d man${i} ]; then + mkdir -p -m 0755 man"${i}" || exit 1 + fi +done + +for i in ${man5}; do + lowdown -s -Tman "${i}".md -o man5/"${i}".5 || exit 1 + var=$( sed -n -e '/^.TH/p' < man5/"${i}".5) + var=$(printf '%s' "$var" | tr '7' '5') + sed -i "s!^.TH.*!${var}!" man5/"${i}".5 || exit 1 + sed -i '4,8d' man5/"${i}".5 || exit 1 +done + +for i in ${man8}; do + lowdown -s -Tman "${i}".md -o man8/"${i}".8 || exit 1 + var=$( sed -n -e '/^.TH/p' < man8/"${i}".8) + var=$(printf '%s' "$var" | tr '7' '8') + sed -i "s!^.TH.*!${var}!" man8/"${i}".8 || exit 1 + sed -i '4,8d' man8/"${i}".8 || exit 1 +done + +exit 0 diff --git a/man/man5/apkg.conf.5 b/man/man5/apkg.conf.5 new file mode 100644 index 0000000..e4bb96d --- /dev/null +++ b/man/man5/apkg.conf.5 @@ -0,0 +1,86 @@ +.\" -*- mode: troff; coding: utf-8 -*- +.TH "" "5" "" +.SH NAME +It resides by default under \f(CR/etc\fR in an alice linux installation. +The contents are sourced by the \fBapkg\fR program and are in the posix shell \f(CRkey=\(dqvalue\(dq\fR format. +.SH CONFIGURATION KEYS +.IP "\(bu" 3 +\f(CRAPKG_NOPROMPT\fR If set, it enables non-interactive use by disabling user confirmation prompt. +.if n \ +.sp -1 +.if t \ +.sp -0.25v +.IP "\(bu" 3 +\f(CRAPKG_PACKAGE_DIR\fR Directory where the compiled packages will reside. +.if n \ +.sp -1 +.if t \ +.sp -0.25v +.IP "\(bu" 3 +\f(CRAPKG_SOURCE_DIR\fR Directory that will hold the downloaded sources. +.if n \ +.sp -1 +.if t \ +.sp -0.25v +.IP "\(bu" 3 +\f(CRAPKG_WORK_DIR\fR Directory where the actual building process will take place. This happens in subdirectories which are cleaned after completion. +.if n \ +.sp -1 +.if t \ +.sp -0.25v +.IP "\(bu" 3 +\f(CRAPKG_LOG\fR If set, it enables the creation of a log for the program output. +.if n \ +.sp -1 +.if t \ +.sp -0.25v +.IP "\(bu" 3 +\f(CRexport CFLAGS=\(dq<cflags>\(dq\fR Default are \fI-O3 -march=x86-64 -pipe\fR +.if n \ +.sp -1 +.if t \ +.sp -0.25v +.IP "\(bu" 3 +\f(CRexport CXXFLAGS=\(dq$CFLAGS\(dq\fR +.if n \ +.sp -1 +.if t \ +.sp -0.25v +.IP "\(bu" 3 +\f(CRexport NINJAJOBS=\(dq<-x>\(dq\fR Replace <-x> with the number of jobs the ninja build system with use. Without this it will use the maximum amount of threads the processor suports. +.if n \ +.sp -1 +.if t \ +.sp -0.25v +.IP "\(bu" 3 +\f(CRexport MAKEFLAGS=\(dq-jx\(dq\fR Replace with the number of jobs the make build system with use. +.LP +EXAMPLES +.LP +.EX +### example of a valid apkg.conf ### +export CFLAGS=\(dq-O3 -march=x86-64 -pipe\(dq +export CXXFLAGS=\(dq$CFLAGS\(dq +export MAKEFLAGS=\(dq-j12\(dq +export NINJAJOBS=\(dq12\(dq +APKG_REPO=\(dq/var/lib/alicelinux/repos/core /var/lib/alicelinux/repos/extra /var/lib/alicelinux/repos/xorg /var/lib/alicelinux/repos/wayland\(dq +APKG_PACKAGE_DIR=/var/cache/pkg +APKG_SOURCE_DIR=/var/cache/src +APKG_WORK_DIR=/var/cache/work +.EE +.SH AUTHORS +.LP +emmett1 \c +.MT emmett1.2miligrams@protonmail.com +.ME +Author of the program and creator of alice linux. +.PP +mobinmob \c +.MT mobinmob@disroot.org +.ME +Author of the man page. +.SH REPORTING BUGS +.LP +\fBapkg\fR is in a working stage but also under heavy development. Please report and bugs/issues in the project issue tracker: \c +.UR https://codeberg.org/emmett1/autils/issues +.UE diff --git a/man/man8/apkg.8 b/man/man8/apkg.8 new file mode 100644 index 0000000..2727207 --- /dev/null +++ b/man/man8/apkg.8 @@ -0,0 +1,181 @@ +.\" -*- mode: troff; coding: utf-8 -*- +.TH "" "8" "" +.SH NAME +.SH DESCRIPTION +.LP +\fBapkg\fR is the package build tool and package installer, along with \fBspm\fR for the alice linux distribution. +It is written in posix shell with the goal to be simple and effective. It can consume package building templates in the abuild format +and automate the building and installing of packages. +.SH OPTIONS +.LP +Arguments for apkg are as follows: +.IP "\(bu" 3 +\fB-h\fR Print help. +.if n \ +.sp -1 +.if t \ +.sp -0.25v +.IP "\(bu" 3 +\fB-i\fR \fI\fR Install package(s) without taking dependencies into account. Building will fail if the dependencies are not present in the system. +.if n \ +.sp -1 +.if t \ +.sp -0.25v +.IP "\(bu" 3 +\fB-I\fR \fI\fR Install package(s) with dependencies. +.if n \ +.sp -1 +.if t \ +.sp -0.25v +.IP "\(bu" 3 +\fB-d\fR \fI\fR List only direct package dependencies +.if n \ +.sp -1 +.if t \ +.sp -0.25v +.IP "\(bu" 3 +\fB-D\fR \fI\fR List all dependencies for package(s) +.if n \ +.sp -1 +.if t \ +.sp -0.25v +.IP "\(bu" 3 +\fB-j\fR \fI\fR List all reverse dependencies for the package (packages that depend on it). +.if n \ +.sp -1 +.if t \ +.sp -0.25v +.IP "\(bu" 3 +\fB-u\fR \fI\fR Upgrade package(s) +.if n \ +.sp -1 +.if t \ +.sp -0.25v +.IP "\(bu" 3 +\fB-r\fR \fI\fR Remove package(s) +.if n \ +.sp -1 +.if t \ +.sp -0.25v +.IP "\(bu" 3 +\fB-t\fR \fI\fR Run scripts for package(s) that update cache or dbs (mime, font cache e.t.c) +.if n \ +.sp -1 +.if t \ +.sp -0.25v +.IP "\(bu" 3 +\fB-U\fR Update system +.if n \ +.sp -1 +.if t \ +.sp -0.25v +.IP "\(bu" 3 +\fB-f\fR Force rebuild a package. +.if n \ +.sp -1 +.if t \ +.sp -0.25v +.IP "\(bu" 3 +\fB-o\fR \fI\fR Only download source for package(s), do not build and install +.if n \ +.sp -1 +.if t \ +.sp -0.25v +.IP "\(bu" 3 +\fB-p\fR \fI\fR Print full path to the package build template directory +.if n \ +.sp -1 +.if t \ +.sp -0.25v +.IP "\(bu" 3 +\fB-s\fR \fI\fR Search for packages +.if n \ +.sp -1 +.if t \ +.sp -0.25v +.IP "\(bu" 3 +\fB-g\fR \fI\fR Update or generate checksum(s) for the package source files. +.SH ENVIRONMENT VARIABLES +.IP "\(bu" 3 +\f(CRAPKG_ROOT\fR Overrides default root location (/), where sw is installed +.if n \ +.sp -1 +.if t \ +.sp -0.25v +.IP "\(bu" 3 +\f(CRAPKG_CONF\fR Overrides default location for the configuration file apkg.conf. The default is under /etc on an installed alice linux system. +.if n \ +.sp -1 +.if t \ +.sp -0.25v +.IP "\(bu" 3 +\f(CRAPKG_NOPROMPT\fR If set, it enabled non-interactive use by disabling user confirmation prompt. +.if n \ +.sp -1 +.if t \ +.sp -0.25v +.IP "\(bu" 3 +\f(CRAPKG_REPO\fR Double-quoted, space-separated list for the local directories that contain build templates. +.if n \ +.sp -1 +.if t \ +.sp -0.25v +.IP "\(bu" 3 +\f(CRAPKG_PACKAGE_DIR\fR Directory where the compiled packages will reside. +.if n \ +.sp -1 +.if t \ +.sp -0.25v +.IP "\(bu" 3 +\f(CRAPKG_SOURCE_DIR\fR Directory that will hold the downloaded sources. +.if n \ +.sp -1 +.if t \ +.sp -0.25v +.IP "\(bu" 3 +\f(CRAPKG_WORK_DIR\fR Directory where the actual building process will take place. This happens in subdirectories which are cleaned after completion. +.if n \ +.sp -1 +.if t \ +.sp -0.25v +.IP "\(bu" 3 +\f(CRAPKG_LOG\fR If set, it enables the creation of a log for the program output. +.LP +\fBNote:\fR Usually, APKG\fIREPO, APKG\fRPACKAGE\fIDIR, APKG\fRSOURCE\fIDIR and APKG\fRWORK_DIR are declared in the apkg.conf configuration file. For more information, please see apkg.conf(5). +.SH FILES +.IP "\(bu" 3 +\fBapkg.conf(5)\fR is the default configuration file, it resides by default under /etc. +.if n \ +.sp -1 +.if t \ +.sp -0.25v +.IP "\(bu" 3 +\fBabuild\fR is the name of the package templates that apkg uses, along with relevant files in order to +build and installed packages. For example, one can look to the alice linux repos, under \c +.UR https://codeberg.org/emmett1/alicelinux/src/branch/main/repos +.UE +.SH EXAMPLES +.LP +\f(CRapkg -i linux\fR - Install the \fIlinux\fR package +.PP +\f(CRapkg -f jupp\fR - Force rebuild the \fIjupp\fR package. If someone tries with just \f(CR-i\fR, \f(CRapkg\fR will produce the following message +if the package is already installed: \f(CR[...] Package 'jupp' already installed.\fR +.PP +\f(CRapkg -s icon\fR - Search for packages names that contain \(lqicon\(rq, it will produce a list with one +package per line. +.SH AUTHORS +.LP +emmett1 \c +.MT emmett1.2miligrams@protonmail.com +.ME +Author of the program and creator of alice linux. +.PP +mobinmob \c +.MT mobinmob@disroot.org +.ME +Author of the man page. +.SH REPORTING BUGS +.LP +\fBapkg\fR is in a working stage but also under heavy development. Please report and bugs/issues in the project issue tracker: \c +.UR https://codeberg.org/emmett1/autils/issues +.UE diff --git a/man/man8/revdep.8 b/man/man8/revdep.8 new file mode 100644 index 0000000..52d32fd --- /dev/null +++ b/man/man8/revdep.8 @@ -0,0 +1,34 @@ +.\" -*- mode: troff; coding: utf-8 -*- +.TH "" "8" "" +.SH NAME +it can discover programs that need to be rebuilt after library upgrades or are missing libraries. +It should probably run after any big upgrade, especially those that feature lib version bumps. +.SH OPTIONS +.IP "\(bu" 3 +\fB-h\fR Show program help. +.if n \ +.sp -1 +.if t \ +.sp -0.25v +.IP "\(bu" 3 +\fB-v\fR Verbose output of the operation. +.SH NOTE +.LP +\fBrevdep\fR does not automatically rebuild broken packages or their dependencies. You need to +use apkg for these operations. +.SH REPORTING BUGS +.LP +\fBapkg\fR is in a working stage but also under heavy development. Please report and bugs/issues in the project issue tracker: \c +.UR https://codeberg.org/emmett1/autils/issues +.UE +.SH AUTHORS +.LP +emmett1 \c +.MT emmett1.2miligrams@protonmail.com +.ME +Author of the program and creator of alice linux. +.PP +mobinmob \c +.MT mobinmob@disroot.org +.ME +Author of the man page. diff --git a/man/revdep.md b/man/revdep.md new file mode 100644 index 0000000..6f23ee3 --- /dev/null +++ b/man/revdep.md @@ -0,0 +1,29 @@ +# NAME + +**revdep** - utility to discover and rebuild reverse deps + +# DESCRIPTION + +**revdep** is a utility inspired by the gentoo program revdep-rebuild. It is written in posix shell and +it can discover programs that need to be rebuilt after library upgrades or are missing libraries. +It should probably run after any big upgrade, especially those that feature lib version bumps. + +# OPTIONS + +- **-h** Show program help. +- **-v** Verbose output of the operation. + +# NOTE + +**revdep** does not automatically rebuild broken packages or their dependencies. You need to +use apkg for these operations. + +# REPORTING BUGS + +**apkg** is in a working stage but also under heavy development. Please report and bugs/issues in the project issue tracker: https://codeberg.org/emmett1/autils/issues + +# AUTHORS + +emmett1 <emmett1.2miligrams@protonmail.com> Author of the program and creator of alice linux. + +mobinmob <mobinmob@disroot.org> Author of the man page. |