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 /doc | |
| parent | b4f8269c034d67612f3054e5cc7b4da30d3bd380 (diff) | |
| download | autils-7702b15c4ccd839932ad1378cacb7deec67c7d0c.tar.gz autils-7702b15c4ccd839932ad1378cacb7deec67c7d0c.zip | |
updated some docs
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/abuild.readme | 100 | ||||
| -rw-r--r-- | doc/apkg.conf.md | 45 | ||||
| -rw-r--r-- | doc/apkg.conf.readme | 41 | ||||
| -rw-r--r-- | doc/apkg.md | 72 | ||||
| -rw-r--r-- | doc/defaultbuildopts | 87 | ||||
| -rw-r--r-- | doc/man/man5/apkg.conf.5 | 83 | ||||
| -rw-r--r-- | doc/man/man8/apkg.8 | 180 | ||||
| -rw-r--r-- | doc/man/man8/revdep.8 | 32 | ||||
| -rw-r--r-- | doc/postinstall.readme | 3 | ||||
| -rw-r--r-- | doc/preinstall.readme | 3 | ||||
| -rw-r--r-- | doc/readme | 34 | ||||
| -rw-r--r-- | doc/revdep.md | 29 |
12 files changed, 268 insertions, 441 deletions
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: +# * <url> - just regular source tarball url +# * <tarball name>::<url> - good to use when upstream source tarball name is not in proper format +# * <url>::noextract - to skip extracting the source tarball +# * <filename> - when its not a url, the <filename> 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 +# * <whatevername> - /etc/sv/<whatevername>/run +# * <whatevername>.run - /etc/sv/<whatevername>/run +# * finish - /etc/sv/$name/finish +# * <whatevername>.finish - /etc/sv/<whatevername>/finish +#sv="run <whatevername>.run <whatevername> + finish <whatevername>.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="<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/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 repo> <path to next repo> <and so on>" + +# path to prebuilt packages +# if this not use, package will built inside package build recipe directory instead +#APKG_PACKAGE_DIR=<path to package directory> + +# path to source tarball +# if this not use, source tarball will fetched into package build recipe directory instead +APKG_SOURCE_DIR=<path to source directory> + +# working directory path, where source is extracted and fakeroot location before packaging +#APKG_WORK_DIR=<path to working directory> + +# 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** *<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/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<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 \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 <package name>' if package recipe is created inside APKG_REPO directory (you can run 'apkg -p <package name>' to + print <package name>'s path if its in APKG_REPO path). + +installing package +------------------ + +- run 'apkg -i' or 'apkg -i <package name>' (same case as above). + or +- run 'spm -i <path to prebuilt package file>' 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 <emmett1.2miligrams@protonmail.com> Author of the program and creator of alice linux. - -mobinmob <mobinmob@disroot.org> Author of the man page. |