aboutsummaryrefslogtreecommitdiff
path: root/man
diff options
context:
space:
mode:
authoremmett1 <emmett1.2miligrams@protonmail.com>2024-12-22 03:19:44 +0800
committeremmett1 <emmett1.2miligrams@protonmail.com>2024-12-22 03:19:44 +0800
commit7702b15c4ccd839932ad1378cacb7deec67c7d0c (patch)
tree8f3ca49e8c1daef47bc627c51f03f02d8deaa492 /man
parentb4f8269c034d67612f3054e5cc7b4da30d3bd380 (diff)
downloadautils-7702b15c4ccd839932ad1378cacb7deec67c7d0c.tar.gz
autils-7702b15c4ccd839932ad1378cacb7deec67c7d0c.zip
updated some docs
Diffstat (limited to 'man')
-rw-r--r--man/apkg.conf.md45
-rw-r--r--man/apkg.md72
-rw-r--r--man/make-man.sh32
-rw-r--r--man/man5/apkg.conf.586
-rw-r--r--man/man8/apkg.8181
-rw-r--r--man/man8/revdep.834
-rw-r--r--man/revdep.md29
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.