diff options
| author | emmett1 <me@emmett1.my> | 2026-05-29 23:40:06 +0800 |
|---|---|---|
| committer | emmett1 <me@emmett1.my> | 2026-05-29 23:40:06 +0800 |
| commit | 49717b9544bacbcd38a10b791adcb4a4aa2e9162 (patch) | |
| tree | d032595b7f70de43df9e485ce7da196bb125aee3 /man | |
| parent | 53900763c5574fe60beb877dda57ea76941f7cec (diff) | |
| download | autils-49717b9544bacbcd38a10b791adcb4a4aa2e9162.tar.gz autils-49717b9544bacbcd38a10b791adcb4a4aa2e9162.zip | |
updates
Diffstat (limited to 'man')
| -rw-r--r-- | man/apkg-chroot.8 | 42 | ||||
| -rw-r--r-- | man/apkg-clean.8 | 36 | ||||
| -rw-r--r-- | man/apkg-deps.8 | 33 | ||||
| -rw-r--r-- | man/apkg-foreign.8 | 29 | ||||
| -rw-r--r-- | man/apkg-genabuild.8 | 35 | ||||
| -rw-r--r-- | man/apkg-orphan.8 | 29 | ||||
| -rw-r--r-- | man/apkg-purge.8 | 32 | ||||
| -rw-r--r-- | man/apkg-redundantdeps.8 | 35 | ||||
| -rw-r--r-- | man/apkg.8 | 368 | ||||
| -rw-r--r-- | man/apkg.conf.md | 45 | ||||
| -rw-r--r-- | man/apkg.md | 72 | ||||
| -rw-r--r-- | man/make-man.sh | 32 | ||||
| -rw-r--r-- | man/man5/apkg.conf.5 | 86 | ||||
| -rw-r--r-- | man/man8/apkg.8 | 181 | ||||
| -rw-r--r-- | man/man8/revdep.8 | 34 | ||||
| -rw-r--r-- | man/reposync.8 | 51 | ||||
| -rw-r--r-- | man/revdep.8 | 38 | ||||
| -rw-r--r-- | man/revdep.md | 29 | ||||
| -rw-r--r-- | man/updateconf.8 | 49 |
19 files changed, 777 insertions, 479 deletions
diff --git a/man/apkg-chroot.8 b/man/apkg-chroot.8 new file mode 100644 index 0000000..65bdd1d --- /dev/null +++ b/man/apkg-chroot.8 @@ -0,0 +1,42 @@ +.\" -*- mode: troff; coding: utf-8 -*- +.TH APKG-CHROOT 8 +.SH NAME +apkg-chroot \- enter a chroot environment for package building +.SH DESCRIPTION +.LP +\fBapkg-chroot\fR enters a chroot environment suitable for package building and +system maintenance. It mounts the required virtual filesystems (\fI/dev\fR, +\fI/proc\fR, \fI/sys\fR, \fI/run\fR), copies the host's \fI/etc/resolv.conf\fR, +and executes a command inside the chroot (default: \fI/bin/sh\fR). All mounts are +cleaned up on exit. +.SH USAGE +.LP +\f(CRapkg-chroot <chroot-dir> [command]\fR +.PP +If \fIcommand\fR is not specified, \fB/bin/sh\fR is launched. +The script must be run as root. +.SH ENVIRONMENT +.TP +\fBHOME\fR +Set to \fI/root\fR inside the chroot. +.TP +\fBTERM\fR +Passed through from the host. +.TP +\fBPATH\fR +Set to \fI/bin:/usr/bin:/sbin:/usr/sbin\fR. +.SH EXAMPLES +.LP +\f(CRapkg-chroot /mnt/alice\fR - Enter a chroot and launch an interactive shell. +.PP +\f(CRapkg-chroot /mnt/alice apkg -i mypkg\fR - Run apkg inside the chroot. +.SH AUTHORS +.LP +emmett1 \c +.MT me@emmett1.my +.ME +.SH REPORTING BUGS +.LP +Please report bugs and issues in the project issue tracker: \c +.UR https://codeberg.org/emmett1/autils/issues +.UE diff --git a/man/apkg-clean.8 b/man/apkg-clean.8 new file mode 100644 index 0000000..6cca0f2 --- /dev/null +++ b/man/apkg-clean.8 @@ -0,0 +1,36 @@ +.\" -*- mode: troff; coding: utf-8 -*- +.TH APKG-CLEAN 8 +.SH NAME +apkg-clean \- clean up unreferenced package and source files +.SH DESCRIPTION +.LP +\fBapkg-clean\fR scans the package and source directories and prints paths to +files that are no longer referenced by any current package recipe. Output is +intended to be piped to \fBxargs rm\fR for cleanup. +.SH OPTIONS +.TP +\fB-p\fR +Print unreferenced package files (\fI*.spm\fR) only. +.TP +\fB-s\fR +Print unreferenced source files only. +.TP +\fB-h\fR +Print help message. +.SH EXAMPLES +.LP +\f(CRapkg-clean\fR - Print all unreferenced files (packages and sources). +.PP +\f(CRapkg-clean | xargs rm -v\fR - Remove all unreferenced package and source files. +.PP +\f(CRapkg-clean -p | xargs rm\fR - Remove only unreferenced package files. +.SH AUTHORS +.LP +emmett1 \c +.MT me@emmett1.my +.ME +.SH REPORTING BUGS +.LP +Please report bugs and issues in the project issue tracker: \c +.UR https://codeberg.org/emmett1/autils/issues +.UE diff --git a/man/apkg-deps.8 b/man/apkg-deps.8 new file mode 100644 index 0000000..20098f9 --- /dev/null +++ b/man/apkg-deps.8 @@ -0,0 +1,33 @@ +.\" -*- mode: troff; coding: utf-8 -*- +.TH APKG-DEPS 8 +.SH NAME +apkg-deps \- show runtime library dependencies of an installed package +.SH DESCRIPTION +.LP +\fBapkg-deps\fR examines the runtime library dependencies of an installed package. +It uses \fBldd\fR to find shared libraries required by the package's binaries and +libraries, then maps those libraries back to the packages that provide them. +Useful for discovering implicit runtime dependencies that may not be listed +in the package's formal dependency list. +.SH USAGE +.LP +\f(CRapkg-deps <package>\fR +.PP +The package must already be installed on the system. +.SH OUTPUT +.LP +Lists packages that provide shared libraries used by the specified package, +excluding the package itself and common base packages (gcc, musl, binutils, glibc). +.SH EXAMPLES +.LP +\f(CRapkg-deps mypkg\fR - Show runtime library dependencies for mypkg. +.SH AUTHORS +.LP +emmett1 \c +.MT me@emmett1.my +.ME +.SH REPORTING BUGS +.LP +Please report bugs and issues in the project issue tracker: \c +.UR https://codeberg.org/emmett1/autils/issues +.UE diff --git a/man/apkg-foreign.8 b/man/apkg-foreign.8 new file mode 100644 index 0000000..0a2fbe9 --- /dev/null +++ b/man/apkg-foreign.8 @@ -0,0 +1,29 @@ +.\" -*- mode: troff; coding: utf-8 -*- +.TH APKG-FOREIGN 8 +.SH NAME +apkg-foreign \- list installed packages not found in any repository +.SH DESCRIPTION +.LP +\fBapkg-foreign\fR lists all installed packages that are not present in any +configured repository. These "foreign" packages may have been installed +from an external source or whose build recipes have since been removed. +.SH USAGE +.LP +\f(CRapkg-foreign\fR +.PP +The script takes no arguments and produces one package name per line. +.SH EXAMPLES +.LP +\f(CRapkg-foreign\fR - List all foreign packages. +.PP +\f(CRapkg-foreign | wc -l\fR - Count the number of foreign packages. +.SH AUTHORS +.LP +emmett1 \c +.MT me@emmett1.my +.ME +.SH REPORTING BUGS +.LP +Please report bugs and issues in the project issue tracker: \c +.UR https://codeberg.org/emmett1/autils/issues +.UE diff --git a/man/apkg-genabuild.8 b/man/apkg-genabuild.8 new file mode 100644 index 0000000..69124b7 --- /dev/null +++ b/man/apkg-genabuild.8 @@ -0,0 +1,35 @@ +.\" -*- mode: troff; coding: utf-8 -*- +.TH APKG-GENABUILD 8 +.SH NAME +apkg-genabuild \- generate an abuild recipe template from a source URL +.SH DESCRIPTION +.LP +\fBapkg-genabuild\fR generates an \fIabuild\fR template file from a source URL. +It attempts to parse the package name and version from the URL and creates +a directory with a skeleton \fIabuild\fR recipe. +.SH USAGE +.LP +\f(CRapkg-genabuild <url> [name]\fR +.PP +If \fIname\fR is not provided, it is derived from the URL. +Special handling is included for GitHub tag archives, PyPI packages, and +CPAN/Perl packages, which get the appropriate prefix (\fIpython-\fR or \fIperl-\fR). +.SH OUTPUT +.LP +Creates a directory named after the package containing an \fIabuild\fR file +with \fIname\fR, \fIversion\fR, \fIrelease\fR, and \fIsource\fR fields populated. +.SH EXAMPLES +.LP +\f(CRapkg-genabuild https://example.com/pkg-1.2.3.tar.gz\fR - Generate template for a tarball. +.PP +\f(CRapkg-genabuild https://github.com/user/repo/archive/v1.0.tar.gz\fR - Generate template from a GitHub tag archive. +.SH AUTHORS +.LP +emmett1 \c +.MT me@emmett1.my +.ME +.SH REPORTING BUGS +.LP +Please report bugs and issues in the project issue tracker: \c +.UR https://codeberg.org/emmett1/autils/issues +.UE diff --git a/man/apkg-orphan.8 b/man/apkg-orphan.8 new file mode 100644 index 0000000..26b132c --- /dev/null +++ b/man/apkg-orphan.8 @@ -0,0 +1,29 @@ +.\" -*- mode: troff; coding: utf-8 -*- +.TH APKG-ORPHAN 8 +.SH NAME +apkg-orphan \- list orphan packages with no dependents installed +.SH DESCRIPTION +.LP +\fBapkg-orphan\fR lists orphan packages: packages that are installed and +exist in a repository, but have no other installed package depending on them. +These may be safe to remove. +.SH USAGE +.LP +\f(CRapkg-orphan\fR +.PP +The script takes no arguments and produces one package name per line. +.SH EXAMPLES +.LP +\f(CRapkg-orphan\fR - List all orphaned packages. +.PP +\f(CRapkg-orphan | while read p; do apkg -r "$p"; done\fR - Remove all orphaned packages. +.SH AUTHORS +.LP +emmett1 \c +.MT me@emmett1.my +.ME +.SH REPORTING BUGS +.LP +Please report bugs and issues in the project issue tracker: \c +.UR https://codeberg.org/emmett1/autils/issues +.UE diff --git a/man/apkg-purge.8 b/man/apkg-purge.8 new file mode 100644 index 0000000..cbc92cf --- /dev/null +++ b/man/apkg-purge.8 @@ -0,0 +1,32 @@ +.\" -*- mode: troff; coding: utf-8 -*- +.TH APKG-PURGE 8 +.SH NAME +apkg-purge \- remove a package and its unused dependencies +.SH DESCRIPTION +.LP +\fBapkg-purge\fR removes a package and all its dependencies that are no longer +required by any other installed package. This is a "deep" removal compared to +\fBapkg -r\fR which only removes the specified package. +.SH OPTIONS +.TP +\fB-p\fR +Purge (remove from system). Without this flag, the script prints what would be +removed without taking action (dry-run mode). +.TP +\fB-h\fR +Print help message. +.SH EXAMPLES +.LP +\f(CRapkg-purge mypkg\fR - Show what would be removed when purging mypkg. +.PP +\f(CRapkg-purge -p mypkg\fR - Actually purge mypkg and its now-unused dependencies. +.SH AUTHORS +.LP +emmett1 \c +.MT me@emmett1.my +.ME +.SH REPORTING BUGS +.LP +Please report bugs and issues in the project issue tracker: \c +.UR https://codeberg.org/emmett1/autils/issues +.UE diff --git a/man/apkg-redundantdeps.8 b/man/apkg-redundantdeps.8 new file mode 100644 index 0000000..5169e07 --- /dev/null +++ b/man/apkg-redundantdeps.8 @@ -0,0 +1,35 @@ +.\" -*- mode: troff; coding: utf-8 -*- +.TH APKG-REDUNDANTDEPS 8 +.SH NAME +apkg-redundantdeps \- find and fix redundant dependencies +.SH DESCRIPTION +.LP +\fBapkg-redundantdeps\fR finds redundant entries in package dependency files. +A dependency is considered redundant if it is already pulled in by another +listed dependency (transitive dependency). This helps keep \fIdepends\fR files +clean by listing only direct dependencies. +.SH OPTIONS +.TP +\fB-f\fR +Fix mode: remove the redundant dependencies from the \fIdepends\fR files. +Without this flag, the script prints redundant entries without modifying anything. +.TP +\fB-h\fR +Print help message. +.SH EXAMPLES +.LP +\f(CRapkg-redundantdeps mypkg\fR - Check mypkg for redundant dependencies. +.PP +\f(CRapkg-redundantdeps\fR - Check all packages in configured repos. +.PP +\f(CRapkg-redundantdeps -f mypkg\fR - Remove redundant dependencies from mypkg. +.SH AUTHORS +.LP +emmett1 \c +.MT me@emmett1.my +.ME +.SH REPORTING BUGS +.LP +Please report bugs and issues in the project issue tracker: \c +.UR https://codeberg.org/emmett1/autils/issues +.UE diff --git a/man/apkg.8 b/man/apkg.8 new file mode 100644 index 0000000..b810666 --- /dev/null +++ b/man/apkg.8 @@ -0,0 +1,368 @@ +.\" -*- mode: troff; coding: utf-8 -*- +.TH APKG 8 +.SH NAME +apkg \- Alice Linux package build and install tool +.SH DESCRIPTION +.LP +\fBapkg\fR is the package manager for Alice Linux. It builds packages from source +using \fIabuild\fR recipe files and installs them through the \fBspm\fR(8) backend. + +It operates in two modes: when given a package name, it locates the recipe in +\fBAPKG_REPO\fR and processes it; when run from inside a package directory, it +uses the \fIabuild\fR file in the current directory directly. + +The build pipeline is: fetch sources \f[R] checksum verification \f[R] extract +\f[R] auto-detect build system \f[R] patch \f[R] compile \f[R] post-process +(strip, compress man pages, remove conflicts) \f[R] package into \fI.spm\fR +format \f[R] install/upgrade via \fBspm\fR. + +.SH OPTIONS +.TP +\fB\-h\fR +Print help and exit. +.TP +\fB\-i\fR \fI<pkg...>\fR +Build and install package(s). Skips packages already installed. Does not +resolve dependencies; use \fB\-I\fR for that. +.TP +\fB\-I\fR \fI<pkg...>\fR +Install package(s) with all dependencies resolved recursively. Prompts for +confirmation unless \fBAPKG_NOPROMPT\fR is set. +.TP +\fB\-u\fR \fI<pkg...>\fR +Upgrade (rebuild and reinstall) package(s). Skips packages not currently installed. +.TP +\fB\-U\fR +System upgrade. Checks all installed packages for outdated versions, resolves +dependencies for the full upgrade set, installs new packages first, then +upgrades existing ones. Respects \fBAPKG_MASK\fR. +.TP +\fB\-f\fR +Force rebuild even if an existing \fI.spm\fR package file is found. +.TP +\fB\-r\fR \fI<pkg...>\fR +Remove (uninstall) package(s) via \fBspm \-r\fR. Requires root. +.TP +\fB\-o\fR \fI<pkg...>\fR +Download sources only; do not build or install. +.TP +\fB\-d\fR \fI<pkg>\fR +List direct dependencies of a package (from its \fIdepends\fR file). +Respects \fBAPKG_ALIAS\fR. +.TP +\fB\-D\fR \fI<pkg...>\fR +List all dependencies recursively in install order (dependencies before +dependents). Detects and skips dependency cycles. +.TP +\fB\-j\fR \fI<pkg>\fR +List reverse dependencies \-- packages that list the given package in their +\fIdepends\fR file. +.TP +\fB\-p\fR \fI<pkg>\fR +Print the filesystem path to the package's recipe directory. Searches each +directory in \fBAPKG_REPO\fR in order; the first match wins. +.TP +\fB\-s\fR \fI<pattern>\fR +Search for packages by name across all configured repos. With \fB\-v\fR, also +prints the version from the \fIabuild\fR file. +.TP +\fB\-S\fR \fI<pattern>\fR +Search package file lists (the \fI.files\fR files in each repo) for a pattern. +Prints the repo path and matching filename. +.TP +\fB\-a\fR +List all installed packages. With \fB\-v\fR, also prints the installed version. +.TP +\fB\-l\fR +List outdated packages by comparing each installed package's version against +the version available in the repo. Respects \fBAPKG_MASK\fR. +.TP +\fB\-g\fR \fI<pkg>\fR +Generate or update the \fI.shasum\fR checksum file for the package's source files. +Uses \fBsha3sum\fR by default. +.TP +\fB\-k\fR \fI<pkg>\fR +Regenerate the \fI.files\fR file listing from the built \fI.spm\fR package. +.TP +\fB\-t\fR \fI<pkg...>\fR +Run post-install triggers: fontconfig cache, GDK-Pixbuf loaders, GIO modules, +GSettings schemas, GTK2/GTK3 input method modules, icon theme cache, udev +hardware database, X font indices, desktop MIME cache, and shared MIME database. +Only triggers that are relevant to the package's installed files are executed. +With no arguments, triggers all installed packages. +.TP +\fB\-v\fR +Verbose output. Affects \fB\-s\fR (show versions), \fB\-a\fR (show versions), +and \fB\-l\fR (internal use). + +.SH ABUILD RECIPE FORMAT +.LP +An \fIabuild\fR file is a POSIX shell snippet sourced by \fBapkg\fR. The +directory containing it must be named identically to the \fBname\fR variable. + +.SS Required variables +.TP +\fBname\fR +Package name. Must match the parent directory name. +.TP +\fBversion\fR +Upstream version string. Used in source URLs via \fB$name\fR and \fB$version\fR. +.TP +\fBrelease\fR +Integer starting at 1. Increment on each rebuild; reset to 1 when \fBversion\fR +changes. + +.SS Optional variables +.TP +\fBsource\fR +Whitespace-separated list of source files. Five formats are accepted: +.RS +.IP \- 2 +\fI<url>\fR \-- a source tarball URL (e.g. \fIhttps://example.com/$name-$version.tar.gz\fR) +.IP \- 2 +\fI<filename>::<url>\fR \-- custom local filename for the downloaded source +.IP \- 2 +\fI<url>::noextract\fR \-- download but do not unpack +.IP \- 2 +\fI<filename>\fR \-- a local file in the recipe directory (not downloaded) +.IP \- 2 +\fI<filename>::noextract\fR \-- a local file, not extracted +.RE +.IP +If \fBsource\fR is empty, a dummy (meta) package is created containing only +\fI/usr\fR. +.TP +\fBbuild_opt\fR +Extra flags passed to the build system (appended after the defaults). +.TP +\fBsv\fR +Runit service files to install into \fI/etc/sv\fR. Accepts names like \fIrun\fR, +\fIfinish\fR, \fI<name>.run\fR, \fI<name>.finish\fR. +.TP +\fBbuild_type\fR +Force a specific build system. Normally auto-detected; set to one of: +\fImeson_build\fR, \fIconfigure_build\fR, \fIcmake_build\fR, \fIpython_build\fR, +\fIperlmodule_build\fR, \fImakefile_build\fR. +.TP +\fBbuild_dir\fR +Subdirectory within the extracted source to enter before building. +.TP +\fBskip_patch\fR +If set to 1, skip automatic patch application (so \fIbuild()\fR can call +\fBapply_patch\fR manually). +.TP +\fBpatch_opt\fR +Options passed to \fBpatch\fR(1). Default: \fB\-p1\fR. +.TP +\fBkeep_static\fR +If set, keep \fI*.a\fR static libraries (removed by default). +.TP +\fBkeep_libtool\fR +If set, keep \fI*.la\fR libtool archives (removed by default). +.TP +\fBkeep_locale\fR +If set, keep locale files in \fI/usr/share/locale\fR and \fI/usr/lib/locale\fR. +.TP +\fBkeep_doc\fR +If set, keep documentation in \fI/usr/share/doc\fR and \fI/usr/doc\fR. +.TP +\fBno_strip\fR +If set, skip ELF binary and library stripping. + +.SS Build function hooks +.LP +If a \fBbuild()\fR function is defined, it is called directly (in \fBset \-ex\fR +mode) and the auto-detection pipeline is bypassed. \fB$SRC\fR and \fB$PKG\fR +point to the source extraction and fakeroot directories respectively. Several +\fBDESTDIR\fR-style variables are pre-exported for common build systems: +\fBDESTDIR\fR, \fBDEST_DIR\fR, \fBINSTALLROOT\fR, \fBinstall_root\fR, and +\fBINSTALL_ROOT\fR. + +If no \fBbuild()\fR function is present, \fBprebuild()\fR (if any) runs first, +then the auto-detected build system, then \fBpostbuild()\fR (if any). + +.SS Other files in the recipe directory +.TP +\fBdepends\fR +One dependency per line. Lines starting with \fB#\fR are comments. +.TP +\fBpreinstall\fR +Executable script run before the package is built (only during \fB\-i\fR or +\fB\-u\fR). +.TP +\fBpostinstall\fR +Executable script run after the package is installed or upgraded. +.TP +\fB.shasum\fR +Auto-generated checksum file. Regenerate with \fB\-g\fR. +.TP +\fB.files\fR +Auto-generated sorted file list from the package contents. Regenerate with +\fB\-k\fR. + +.SH BUILD SYSTEMS +.LP +When no \fBbuild()\fR function is defined, the build type is auto-detected by +checking for these files in order: +.IP 1. 3 +\fBmeson.build\fR \-- \fBmeson setup\fR with LTO and PIE enabled, +\fBwrap_mode=nodownload\fR, \fBbuildtype=plain\fR +.IP 2. 3 +\fBconfigure\fR \-- \fB./configure --prefix=/usr --sysconfdir=/etc ...\fR +.IP 3. 3 +\fBCMakeLists.txt\fR \-- \fBcmake\fR with \fBRelease\fR build type, +\fBninja\fR preferred over \fBmake\fR +.IP 4. 3 +\fBsetup.py\fR \-- \fBpython3 setup.py build && install --root=$PKG\fR +.IP 5. 3 +\fBMakefile.PL\fR \-- \fBperl Makefile.PL && make && make install\fR +.IP 6. 3 +\fBMakefile\fR, \fBmakefile\fR, or \fBGNUmakefile\fR \-- \fBmake\fR with +standard prefix/sysconfdir variables + +.SS Post-build processing +.LP +After compilation, \fBapkg\fR automatically: +.IP \- 2 +Compresses man pages (gzip, keeps only man[1-8] sections) and info pages +.IP \- 2 +Removes common conflict files (\fIfonts.dir\fR, \fIfonts.scale\fR, +\fIperllocal.pod\fR, \fIcharset.alias\fR) +.IP \- 2 +Removes static libraries (\fI*.a\fR), libtool archives (\fI*.la\fR), +locales, and docs unless the corresponding \fBkeep_*\fR variable is set +.IP \- 2 +Strips ELF executables (\fB\-\-strip-all\fR), shared objects +(\fB\-\-strip-unneeded\fR), and static archives (\fB\-\-strip-debug\fR) +unless \fBno_strip\fR is set +.IP \- 2 +Merges \fI/bin\fR, \fI/sbin\fR, \fI/usr/sbin\fR into \fI/usr/bin\fR if +\fBAPKG_BINMERGE\fR is set +.IP \- 2 +Installs runit service files from the \fBsv\fR variable into \fI/etc/sv\fR + +.SH ENVIRONMENT +.TP +\fBAPKG_REPO\fR +Space-separated list of directories containing package recipes. Searched in +order; the first match wins. Default: current directory. +.TP +\fBAPKG_PACKAGE_DIR\fR +Directory where built \fI.spm\fR packages are stored. Default: current directory. +.TP +\fBAPKG_SOURCE_DIR\fR +Directory for downloaded source tarballs. Default: current directory. +.TP +\fBAPKG_WORK_DIR\fR +Directory for build working trees (subdirectories \fIapkg-src-<name>\fR and +\fIapkg-pkg-<name>\fR are created and cleaned automatically). Default: current +directory. +.TP +\fBAPKG_ROOT\fR +Alternative root directory for installation (e.g. for cross-compilation or +staged installs). Sets \fBSPM_ROOT\fR. Default: \fI/\fR. +.TP +\fBAPKG_KEEP_WORKDIR\fR +If set, do not remove the work directory on build failure (useful for debugging). +.TP +\fBAPKG_NOPROMPT\fR +If set, skip the confirmation prompt in \fB\-I\fR and \fB\-U\fR operations. +.TP +\fBAPKG_ALIAS\fR +Space-separated list of \fIreal:alias\fR pairs for dependency substitution +(e.g. \fIopenssl:libressl\fR makes packages depending on openssl pull libressl). +.TP +\fBAPKG_MASK\fR +Space-separated list of packages to exclude from \fB\-l\fR and \fB\-U\fR. +.TP +\fBAPKG_BINMERGE\fR +If set, merge \fI/bin\fR, \fI/sbin\fR, and \fI/usr/sbin\fR into +\fI/usr/bin\fR during packaging. +.TP +\fBAPKG_LOG\fR +If set, enable build logging. +.TP +\fBAPKG_LOG_DIR\fR +Directory for build log files (log filename is \fI$name.log\fR). +.TP +\fBCFLAGS\fR, \fBCXXFLAGS\fR +Compiler flags used by the cmake build system. +.TP +\fBCROSS_COMPILE\fR +Prefix for the \fBstrip\fR command (e.g. \fIx86_64-linux-musl-\fR). +.TP +\fBCARGO_HOME\fR, \fBGOCACHE\fR +Set inside the build environment for Rust and Go builds respectively. + +.SH FILES +.TP +\fI/var/lib/spm/db/\fR +SPM package database. Each installed package has a file here whose first line +is the installed version-release string. + +.SH EXAMPLES +.LP +Build and install a package: +.RS +\f(CRapkg \-i mypkg\fR +.RE +.LP +Install with automatic dependency resolution: +.RS +\f(CRapkg \-I firefox\fR +.RE +.LP +Full system upgrade: +.RS +\f(CRapkg \-U\fR +.RE +.LP +Search for packages: +.RS +\f(CRapkg \-s icon\fR +.RE +.LP +Find which package owns a file: +.RS +\f(CRapkg \-S libpng.so\fR +.RE +.LP +List outdated packages: +.RS +\f(CRapkg \-l\fR +.RE +.LP +Force rebuild: +.RS +\f(CRapkg \-f jupp\fR +.RE +.LP +Check direct dependencies: +.RS +\f(CRapkg \-d mypkg\fR +.RE + +.SH SEE ALSO +.BR apkg-chroot (8), +.BR apkg-clean (8), +.BR apkg-deps (8), +.BR apkg-foreign (8), +.BR apkg-genabuild (8), +.BR apkg-orphan (8), +.BR apkg-purge (8), +.BR apkg-redundantdeps (8), +.BR reposync (8), +.BR revdep (8), +.BR updateconf (8), +.BR spm (8) + +.SH AUTHORS +.LP +emmett1 \c +.MT me@emmett1.my +.ME + +.SH REPORTING BUGS +.LP +.UR https://codeberg.org/emmett1/autils/issues +.UE diff --git a/man/apkg.conf.md b/man/apkg.conf.md deleted file mode 100644 index d4aa590..0000000 --- a/man/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/man/apkg.md b/man/apkg.md deleted file mode 100644 index a692d1e..0000000 --- a/man/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/man/make-man.sh b/man/make-man.sh deleted file mode 100644 index dd0a8c5..0000000 --- a/man/make-man.sh +++ /dev/null @@ -1,32 +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 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 deleted file mode 100644 index e4bb96d..0000000 --- a/man/man5/apkg.conf.5 +++ /dev/null @@ -1,86 +0,0 @@ -.\" -*- 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 deleted file mode 100644 index 2727207..0000000 --- a/man/man8/apkg.8 +++ /dev/null @@ -1,181 +0,0 @@ -.\" -*- 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 deleted file mode 100644 index 52d32fd..0000000 --- a/man/man8/revdep.8 +++ /dev/null @@ -1,34 +0,0 @@ -.\" -*- 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/reposync.8 b/man/reposync.8 new file mode 100644 index 0000000..bed67c3 --- /dev/null +++ b/man/reposync.8 @@ -0,0 +1,51 @@ +.\" -*- mode: troff; coding: utf-8 -*- +.TH REPOSYNC 8 +.SH NAME +reposync \- synchronize git-based package repositories +.SH DESCRIPTION +.LP +\fBreposync\fR synchronizes git-based package repositories using environment +variables for configuration. It does not depend on an \fIapkg.conf\fR file. +.SH OPTIONS +.TP +\fB-n\fR +Dry-run: print actions without executing them. +.TP +\fB-l\fR +Enable logging to \fI/var/log/reposync.log\fR. +.TP +\fB-f\fR +Force sync: remove existing repo directories before cloning fresh. +.TP +\fB-h\fR +Print usage message. +.SH ENVIRONMENT VARIABLES +.LP +Repository configuration is provided via variables with the \fBREPOSYNC_\fR prefix. +Each variable's value uses the pipe-delimited format: +\fI<url>|<branch>|<local-path>\fR. +.PP +For example: +.PP +\f(CRREPOSYNC_CORE="https://codeberg.org/emmett1/alicelinux.git|main|/var/lib/alicelinux"\fR +.PP +\f(CRREPOSYNC_EXTRA="https://codeberg.org/emmett1/alicelinux.git|extra|/var/lib/alicelinux/extra"\fR +.SH EXAMPLES +.LP +\f(CRreposync\fR - Sync all repos configured via REPOSYNC_* variables. +.PP +\f(CRreposync -n\fR - Dry-run to see what actions would be taken. +.PP +\f(CRreposync -l\fR - Sync with logging enabled. +.PP +\f(CRreposync -f\fR - Force fresh clones of all repositories. +.SH AUTHORS +.LP +emmett1 \c +.MT me@emmett1.my +.ME +.SH REPORTING BUGS +.LP +Please report bugs and issues in the project issue tracker: \c +.UR https://codeberg.org/emmett1/autils/issues +.UE diff --git a/man/revdep.8 b/man/revdep.8 new file mode 100644 index 0000000..be93f32 --- /dev/null +++ b/man/revdep.8 @@ -0,0 +1,38 @@ +.\" -*- mode: troff; coding: utf-8 -*- +.TH REVDEP 8 +.SH NAME +revdep \- discover broken library dependencies +.SH DESCRIPTION +.LP +\fBrevdep\fR scans system binaries and shared libraries for missing library links. +It can discover programs that need to be rebuilt after library upgrades or are +missing libraries. It should probably be run after any big upgrade, especially +those that feature library version bumps. +.SH OPTIONS +.TP +\fB-h\fR +Show program help. +.TP +\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 \fBapkg\fR for these operations. +.SH REPORTING BUGS +.LP +\fBapkg\fR is in a working stage but also under heavy development. Please report +bugs and issues in the project issue tracker: \c +.UR https://codeberg.org/emmett1/autils/issues +.UE +.SH AUTHORS +.LP +emmett1 \c +.MT me@emmett1.my +.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 deleted file mode 100644 index 6f23ee3..0000000 --- a/man/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. diff --git a/man/updateconf.8 b/man/updateconf.8 new file mode 100644 index 0000000..d73e4e1 --- /dev/null +++ b/man/updateconf.8 @@ -0,0 +1,49 @@ +.\" -*- mode: troff; coding: utf-8 -*- +.TH UPDATECONF 8 +.SH NAME +updateconf \- interactive .new configuration file merge tool +.SH DESCRIPTION +.LP +\fBupdateconf\fR is an interactive tool for handling \fI.new\fR configuration +files. When packages are upgraded, new default configuration files are installed +with a \fI.new\fR suffix to avoid overwriting locally modified files. +\fBupdateconf\fR helps merge, discard, or keep these files. +.SH USAGE +.LP +\f(CRupdateconf\fR +.PP +Must be run as root. The script scans \fI/etc\fR for files ending in \fI.new\fR +and presents each one interactively. +.SH INTERACTIVE PROMPT +.LP +For each \fI.new\fR file, a unified diff between the current and new version is +shown, and the user is prompted: +.TP +\fBU\fR +Update: replace the current file with the new one. +.TP +\fBD\fR +Discard: delete the \fI.new\fR file, keeping the current version. +.TP +\fBE\fR +Edit: open the current file in the editor (\fB$EDITOR\fR, defaults to \fIvi\fR). +.TP +\fBK\fR +Keep: keep both files, no changes. +.SH ENVIRONMENT +.TP +\fBEDITOR\fR +Editor to use (default: \fIvi\fR). +.SH EXAMPLES +.LP +\f(CRupdateconf\fR - Run the interactive config file updater. +.SH AUTHORS +.LP +emmett1 \c +.MT me@emmett1.my +.ME +.SH REPORTING BUGS +.LP +Please report bugs and issues in the project issue tracker: \c +.UR https://codeberg.org/emmett1/autils/issues +.UE |