aboutsummaryrefslogtreecommitdiff
path: root/doc/apkg.md
diff options
context:
space:
mode:
Diffstat (limited to 'doc/apkg.md')
-rw-r--r--doc/apkg.md70
1 files changed, 70 insertions, 0 deletions
diff --git a/doc/apkg.md b/doc/apkg.md
new file mode 100644
index 0000000..cc844c3
--- /dev/null
+++ b/doc/apkg.md
@@ -0,0 +1,70 @@
+# 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] [-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
+
+# 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