This repository contains pkgman, a package management tool that
provides additional functionality to basic package management
utilities like pkgmk and pkgutils.
This distribution is a fork of CRUX' prt-get tool as of commit
da6bfb0 (Fri Oct 16 2020) with the following differences:
- the code has been rewritten from "C-like" coding standard to
high-level C++17 primitives; this enabled aggressive optimization
(
-O3and above), look at prt-get vs pkgman - doxygen documentation has been improved and covers (almost?) all code
- so-called
prt-cachefunctionality have been removed since there is no fundamental advantage while PageCache+NVMe are available prt.aliasesfunctionality have been removed too- manual pages in
scdoc(5)format - new manual pages:
pkgman-readme(7)&pkgman-runscripts(7) - switch from autotools to Makefile
- rewritten command-line interface
- unified and improved commands output
- new commands
- dependency injection for sysup/update/remove commands
- quiet mode
- vim syntax highlight for
pkgman.conffile - etc
See git log for complete/further differences and COMPLEXITY.md for source code stats' differences.
The original sources can be downloaded from:
- C++17 compiler (GCC 8 and later, Clang 5 and later)
- POSIX
sh(1p),make(1p)and "mandatory utilities" scdoc(1)to build manual pages
- POSIX
sh(1p)to execute pre/post scripts (configurable) pkgmkto build packages (configurable)pkgutilsto add/update/remove packages (configurable)
To build and install this package:
make && make install
For static linking you need to run make(1p) as the following:
make LDFLAGS="-static -lstdc++fs"
See config.mk file for configuration parameters, and
src/pathnames.h for absolute filenames that pkgman wants for
various defaults.
See /man directory for manual pages.
pkgman is licensed through the
GNU General Public License v2 or later.
See COPYING for license terms and COPYRIGHT for notices.