From 7702b15c4ccd839932ad1378cacb7deec67c7d0c Mon Sep 17 00:00:00 2001 From: emmett1 Date: Sun, 22 Dec 2024 03:19:44 +0800 Subject: updated some docs --- doc/abuild.readme | 100 ++++++++++++++++++++++++++ doc/apkg.conf.md | 45 ------------ doc/apkg.conf.readme | 41 +++++++++++ doc/apkg.md | 72 ------------------- doc/defaultbuildopts | 87 +++++++++++++++++++++++ doc/man/man5/apkg.conf.5 | 83 ---------------------- doc/man/man8/apkg.8 | 180 ---------------------------------------------- doc/man/man8/revdep.8 | 32 --------- doc/postinstall.readme | 3 + doc/preinstall.readme | 3 + doc/readme | 34 +++++++++ doc/revdep.md | 29 -------- make-man.sh | 33 --------- man/apkg.conf.md | 45 ++++++++++++ man/apkg.md | 72 +++++++++++++++++++ man/make-man.sh | 32 +++++++++ man/man5/apkg.conf.5 | 86 ++++++++++++++++++++++ man/man8/apkg.8 | 181 +++++++++++++++++++++++++++++++++++++++++++++++ man/man8/revdep.8 | 34 +++++++++ man/revdep.md | 29 ++++++++ 20 files changed, 747 insertions(+), 474 deletions(-) create mode 100644 doc/abuild.readme delete mode 100644 doc/apkg.conf.md create mode 100644 doc/apkg.conf.readme delete mode 100644 doc/apkg.md create mode 100644 doc/defaultbuildopts delete mode 100644 doc/man/man5/apkg.conf.5 delete mode 100644 doc/man/man8/apkg.8 delete mode 100644 doc/man/man8/revdep.8 create mode 100644 doc/postinstall.readme create mode 100644 doc/preinstall.readme create mode 100644 doc/readme delete mode 100644 doc/revdep.md delete mode 100755 make-man.sh create mode 100644 man/apkg.conf.md create mode 100644 man/apkg.md create mode 100644 man/make-man.sh create mode 100644 man/man5/apkg.conf.5 create mode 100644 man/man8/apkg.8 create mode 100644 man/man8/revdep.8 create mode 100644 man/revdep.md diff --git a/doc/abuild.readme b/doc/abuild.readme new file mode 100644 index 0000000..f5b6bb1 --- /dev/null +++ b/doc/abuild.readme @@ -0,0 +1,100 @@ +# This is template file for abuild with explanations +# you can use this template as base for your package abuild +# all commented lines can be removed to keep it simple and clean. +# uncomment necessary optional variables/functions as needed + +# 'name', 'version' and 'release' is required as it will be used in package database +# must be the same as directory name. +name=mypkg + +# should use version number from package upstream as possible +version=1.2.3 + +# does not follow any number from package upstream +# must be increment number from 1 +# must reset to 1 when 'version' is changed +# must not contain any character other than increment number from 1 +# can be use to bump package when package need rebuild without source changed +release=1 + +# if no source defined, empty package will be created, good for making meta packages +# must use '$name' and '$version' variable so updating packages will be easier +# 4 format acceptable can be used: +# * - just regular source tarball url +# * :: - good to use when upstream source tarball name is not in proper format +# * ::noextract - to skip extracting the source tarball +# * - when its not a url, the is expected exist inside package abuild recipe directory +#source="https://anyurl.com/$name-$version.tar.gz + $name-$version.tar.gz::https://anyurl.com/$version.tar.gz + https://anyurl.com/$name-$version.tar.gz::noextract + file" + +# placed runit service with proper name in /etc/sv +# this is acceptable name for runit service file: +# * run - /etc/sv/$name/run +# * - /etc/sv//run +# * .run - /etc/sv//run +# * finish - /etc/sv/$name/finish +# * .finish - /etc/sv//finish +#sv="run .run + finish .finish" + +# auto build system already use regular options like --prefix, --sysconfdir, --libdir and etc +# use this to add the optional opts or to override the one in defaults (see 'defaultbuildopts' file) +#build_opt="" + +# skipping auto apply patch +#skip_patch=1 + +# define patch opts to use other than default (-p1) +#patch_opt="-p1" + +# keep static libraries (*.a) in packages +#keep_static=1 + +# keep libtool files (*.la) in packages +#keep_libtool=1 + +# keep locales in packages (/usr/share/locale and /usr/lib/locale) +#keep_locale=1 + +# keep documentations in packages (/usr/share/doc) +#keep_doc=1 + +# use this to force which build_type to use (if available) +# by default build_type will be automatically detected +# list available build_type (in order when autodetect) +# * meson_build +# * configure_build +# * cmake_build +# * python_build +# * perlmodule_build +# * makefile_build +#build_type="" + +# override auto build system by using 'build()', 'prebuild()', and/or 'postbuild()' function +# NOTE: when 'build()' is used, 'prebuild()' and 'postbuild()' will be ignored +# theres 2 variable can be used in these function +# * $PKG - is fakeroot location where all package files is installed before packaging +# * $SRC - is where source is extracted +#prebuild() { +# # do whatever needed before compiling +# # eg: fix whatever bug +# sed -i 's/need to changed/to this/g' src/whateverfile +#} +# +#postbuild() { +# # do whatever needed after files installed to $PKG, before packaging occur +# # eg: move binary to correct location +# mkdir -p $PKG/usr/sbin +# mv $PKG/usr/bin/binary $PKG/usr/sbin +#} +# +#build() { +# sed -i 's/need to changed/to this/g' src/whateverfile +# ./configure --prefix=/usr +# make +# make DESTDIR=$PKG install +# mkdir -p $PKG/usr/sbin +# mv $PKG/usr/bin/binary $PKG/usr/sbin +#} diff --git a/doc/apkg.conf.md b/doc/apkg.conf.md deleted file mode 100644 index d4aa590..0000000 --- a/doc/apkg.conf.md +++ /dev/null @@ -1,45 +0,0 @@ -# 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=""` Default 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 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 Author of the program and creator of alice linux. - -mobinmob 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/doc/apkg.conf.readme b/doc/apkg.conf.readme new file mode 100644 index 0000000..dd33863 --- /dev/null +++ b/doc/apkg.conf.readme @@ -0,0 +1,41 @@ +# this is configuration file for 'apkg' located at '/etc/apkg.conf' +# this file will get sourced before reading any package abuild recipe +# +# its good to export some compiler flags here +#export CFLAGS="-O3 -march=x86-64 -pipe" +#export CXXFLAGS="$CFLAGS" +#export JOBS=$(nproc) +#export MAKEFLAGS=-j$JOBS +#export NINJAJOBS=$JOBS + +# repo path that contains package abuild recipe +# the order is matter, which package found first will take precedence +#APKG_REPO=" " + +# path to prebuilt packages +# if this not use, package will built inside package build recipe directory instead +#APKG_PACKAGE_DIR= + +# path to source tarball +# if this not use, source tarball will fetched into package build recipe directory instead +APKG_SOURCE_DIR= + +# working directory path, where source is extracted and fakeroot location before packaging +#APKG_WORK_DIR= + +# keep source when build failed, good to examine what causing build failed +#APKG_KEEP_WORKDIR=1 + +# skip user prompt when using '-I' and '-U' options (disable interactive mode, good to use in scripting) +#APKG_NOPROMPT=1 + +# you can define and export whatever needed variable here as long its safe and not conflicting with other important +# build variable, example, keep_* can be used here to set globally +#keep_static=1 +#keep_libtool=1 +#keep_locale=1 +#keep_doc=1 + +# you can also define ccache variable here to speed up package rebuild (required 'ccache' package installed) +#export PATH=/usr/lib/ccache:$PATH +#export CCACHE_DIR=/var/cache/ccache diff --git a/doc/apkg.md b/doc/apkg.md deleted file mode 100644 index a692d1e..0000000 --- a/doc/apkg.md +++ /dev/null @@ -1,72 +0,0 @@ -# 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** ** Install package(s) without taking dependencies into account. Building will fail if the dependencies are not present in the system. -- **-I** ** Install package(s) with dependencies. -- **-d** ** List only direct package dependencies -- **-D** ** List all dependencies for package(s) -- **-j** ** List all reverse dependencies for the package (packages that depend on it). -- **-u** ** Upgrade package(s) -- **-r** ** Remove package(s) -- **-t** ** 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** ** Only download source for package(s), do not build and install -- **-p** ** Print full path to the package build template directory -- **-s** ** Search for packages -- **-g** ** 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 Author of the program and creator of alice linux. - -mobinmob 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/doc/defaultbuildopts b/doc/defaultbuildopts new file mode 100644 index 0000000..2918236 --- /dev/null +++ b/doc/defaultbuildopts @@ -0,0 +1,87 @@ +# this file no needed in package build recipe +# this file will just show what auto build system use for build options + +1 - meson_build: + meson setup \ + -Dprefix=/usr \ + -Dlibdir=/usr/lib \ + -Dincludedir=/usr/include \ + -Ddatadir=/usr/share \ + -Dmandir=/usr/share/man \ + -Dinfodir=/usr/share/info \ + -Dlocaledir=/usr/share/locale \ + -Dsysconfdir=/etc \ + -Dlocalstatedir=/var \ + -Dsharedstatedir=/var/lib \ + -Dbuildtype=plain \ + -Dauto_features=auto \ + -Dwrap_mode=nodownload \ + -Db_lto=true \ + -Db_pie=true \ + $build_opt \ + build + ninja -C build + DESTDIR=$PKG meson install -C build + +2 - configure_build: + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --libdir=/usr/lib \ + --infodir=/usr/share/info \ + --mandir=/usr/share/man \ + $build_opt + make + make DESTDIR=$PKG install + +3 - cmake_build: + mkdir -p cmakebuild + cd cmakebuild + cmake \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_SYSCONFDIR=/etc \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DFETCHCONTENT_FULLY_DISCONNECTED=ON \ + -DCMAKE_C_FLAGS_RELEASE="$CFLAGS" \ + -DCMAKE_CXX_FLAGS_RELEASE="$CXXFLAGS" \ + $build_opt \ + -B build .. + if [ -f build.ninja ]; then + ninja + DESTDIR=$PKG ninja install + else + cmake --build build + DESTDIR=$PKG cmake --install build + fi + +4 - python_build: + python3 setup.py build + python3 setup.py install --prefix=/usr --root=$PKG --optimize=1 $build_opt + +5 - perlmodule_build: + perl Makefile.PL + make + make DESTDIR=$PKG install + +6 - makefile_build: + make \ + PREFIX=/usr \ + prefix=/usr \ + SYSCONFDIR=/etc \ + sysconfdir=/etc \ + MANDIR=/usr/share/man \ + mandir=/usr/share/man \ + LIBDIR=/usr/lib \ + PKGCONFIGDIR=/usr/lib/pkgconfig + make \ + PREFIX=/usr \ + prefix=/usr \ + SYSCONFDIR=/etc \ + sysconfdir=/etc \ + MANDIR=/usr/share/man \ + mandir=/usr/share/man \ + LIBDIR=/usr/lib \ + PKGCONFIGDIR=/usr/lib/pkgconfig \ + DESTDIR=$PKG install diff --git a/doc/man/man5/apkg.conf.5 b/doc/man/man5/apkg.conf.5 deleted file mode 100644 index 8047562..0000000 --- a/doc/man/man5/apkg.conf.5 +++ /dev/null @@ -1,83 +0,0 @@ -.\" -*- mode: troff; coding: utf-8 -*- -.TH "" "5" "" -.SH -.LP -\fBapkg.conf\fR is the configuration file for the \fBapkg\fR package manager for the alice linux distribution. -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\(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 \fIemmett1.2miligrams@protonmail.com\fR Author of the program and creator of alice linux. -.PP -mobinmob \fImobinmob@disroot.org\fR 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: \fIhttps://codeberg.org/emmett1/autils/issues\fR diff --git a/doc/man/man8/apkg.8 b/doc/man/man8/apkg.8 deleted file mode 100644 index 5b46f82..0000000 --- a/doc/man/man8/apkg.8 +++ /dev/null @@ -1,180 +0,0 @@ -.\" -*- mode: troff; coding: utf-8 -*- -.TH "" "8" "" -.SH -.LP -\fBapkg\fR [-i] [-I] [-d] [-D] [-j] [-u] [-r] [-t] [-U ] [-f] [-o] [-p] [-s] [-g] [-h] [\fIpkg(s)\fR] -.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 \fIhttps://codeberg.org/emmett1/alicelinux/src/branch/main/repos\fR -.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 \fIemmett1.2miligrams@protonmail.com\fR Author of the program and creator of alice linux. -.PP -mobinmob \fImobinmob@disroot.org\fR 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: \fIhttps://codeberg.org/emmett1/autils/issues\fR diff --git a/doc/man/man8/revdep.8 b/doc/man/man8/revdep.8 deleted file mode 100644 index b8dc1f1..0000000 --- a/doc/man/man8/revdep.8 +++ /dev/null @@ -1,32 +0,0 @@ -.\" -*- mode: troff; coding: utf-8 -*- -.TH "" "8" "" -.SH -.LP -\fBrevdep\fR 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. -.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: \fIhttps://codeberg.org/emmett1/autils/issues\fR -.SH -AUTHORS -.LP -emmett1 \fIemmett1.2miligrams@protonmail.com\fR Author of the program and creator of alice linux. -.PP -mobinmob \fImobinmob@disroot.org\fR Author of the man page. diff --git a/doc/postinstall.readme b/doc/postinstall.readme new file mode 100644 index 0000000..d9fe86c --- /dev/null +++ b/doc/postinstall.readme @@ -0,0 +1,3 @@ +#!/bin/sh + +# whatever command need to after package installed into system diff --git a/doc/preinstall.readme b/doc/preinstall.readme new file mode 100644 index 0000000..be52b7a --- /dev/null +++ b/doc/preinstall.readme @@ -0,0 +1,3 @@ +#!/bin/sh + +# whatever command need to run before build/install package diff --git a/doc/readme b/doc/readme new file mode 100644 index 0000000..86f5970 --- /dev/null +++ b/doc/readme @@ -0,0 +1,34 @@ +abuild recipe guidance +====================== + +- please read all availabe *.readme files + +abuild recipe tree +------------------ +name - directory name, must be same as 'name' variable in abuild + |- abuild - package recipe (required) + |- preinstall - pre installation script (optional) + |- postinstall - post installation script (optional) + |- depends - dependencies list, one package per line (optional) + |- .checksum - source's b3sum, auto generated if not exist, can be manually generated using 'apkg -g' + \- .files - packages file list, will be generated after packaging, can be manually generated using 'apkg -k' + +building package +---------------- + +- run 'apkg' inside package recipe directory. + or +- run 'apkg ' if package recipe is created inside APKG_REPO directory (you can run 'apkg -p ' to + print 's path if its in APKG_REPO path). + +installing package +------------------ + +- run 'apkg -i' or 'apkg -i ' (same case as above). + or +- run 'spm -i ' directly (installing this way will not execute pre/postinstall script and will + not trigger system database updates, you recomended to run 'apkg -t' afterwards) + +NOTE: +- 'apkg -t' will update font cache, mime database, desktop database, gtkimodules, glib schema, giomodules and gdkpixbuf cache. +- this trigger will automatically detected on which packages need to run. diff --git a/doc/revdep.md b/doc/revdep.md deleted file mode 100644 index 6f23ee3..0000000 --- a/doc/revdep.md +++ /dev/null @@ -1,29 +0,0 @@ -# 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 Author of the program and creator of alice linux. - -mobinmob Author of the man page. diff --git a/make-man.sh b/make-man.sh deleted file mode 100755 index 4ed2336..0000000 --- a/make-man.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/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 doc/man/man${i} ]; then - mkdir -p -m 0755 doc/man/man"${i}" || exit 1 - fi -done - -for i in ${man5}; do - lowdown -s -Tman doc/"${i}".md -o doc/man/man5/"${i}".5 || exit 1 - var=$( sed -n -e '/^.TH/p' < doc/man/man5/"${i}".5) - var=$(printf '%s' "$var" | tr '7' '5') - sed -i "s!^.TH.*!${var}!" doc/man/man5/"${i}".5 || exit 1 - sed -i '4,8d' doc/man/man5/"${i}".5 || exit 1 -done - -for i in ${man8}; do - lowdown -s -Tman doc/"${i}".md -o doc/man/man8/"${i}".8 || exit 1 - var=$( sed -n -e '/^.TH/p' < doc/man/man8/"${i}".8) - var=$(printf '%s' "$var" | tr '7' '8') - sed -i "s!^.TH.*!${var}!" doc/man/man8/"${i}".8 || exit 1 - sed -i '4,8d' doc/man/man8/"${i}".8 || exit 1 -done - -exit 0 \ No newline at end of file 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=""` Default 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 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 Author of the program and creator of alice linux. + +mobinmob 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** ** Install package(s) without taking dependencies into account. Building will fail if the dependencies are not present in the system. +- **-I** ** Install package(s) with dependencies. +- **-d** ** List only direct package dependencies +- **-D** ** List all dependencies for package(s) +- **-j** ** List all reverse dependencies for the package (packages that depend on it). +- **-u** ** Upgrade package(s) +- **-r** ** Remove package(s) +- **-t** ** 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** ** Only download source for package(s), do not build and install +- **-p** ** Print full path to the package build template directory +- **-s** ** Search for packages +- **-g** ** 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 Author of the program and creator of alice linux. + +mobinmob 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\(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 Author of the program and creator of alice linux. + +mobinmob Author of the man page. -- cgit v1.2.3