This directory 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 (-O3 and above), look at prt-get vs pkgman
- doxygen documentation has been improved and covers (almost?) all code
- so-called prt-cache functionality have been removed since there is no fundamental advantage while PageCache+NVMe are available
- prt.aliases functionality have been removed too
- manual pages in mdoc(7) format
- 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.conf
file - 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"
- POSIX sh(1p) to execute pre/post scripts
- pkgmk to build packages
- pkgutils to add/update/remove packages
The shell commands make && make install
should build and install
this package.
For static linking you need to run make
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.
pkgman is licensed through the GNU General Public License v2 or later https://gnu.org/licenses/gpl.html. Read the COPYING file for copying conditions. Read the COPYRIGHT file for copyright notices.