libpkgcore is the core package management library extracted from
CRUX pkgutils.
It provides foundational classes and functions for package utilities
such as pkgadd(8), pkgrm(8), and pkginfo(1) - handling package
installation, removal, and information queries.
This distribution is a fork of CRUX pkgutils at commit 9ca0da6
(Sat Nov 17 2018) with the following differences:
- Code organized into a standalone library (
libpkgcore) and utilities (pkgutils) - Support for
zstdarchive formats - Optional support for preserving ACLs and xattrs
See the git log for full history.
Original sources:
- C++11 compiler (GCC 4.8.1+, Clang 3.3+)
- Meson
- Ninja
pkg-config(1)libarchive(3)headers and library
# Configure
meson setup build
# Compile
meson compile -C build
# Install
meson install -C buildEnable ACL support:
meson setup build -Dextract_acl=trueEnable xattr support:
meson setup build -Dextract_xattr=trueEnable both:
meson setup build -Dextract_acl=true -Dextract_xattr=trueShared:
meson setup build -Ddefault_library=sharedStatic:
meson setup build -Ddefault_library=staticBoth:
meson setup build -Ddefault_library=bothFor generic static-library packaging, disabling LTO is recommended:
meson setup build -Ddefault_library=static -Db_lto=falseDebug:
meson setup build -Dbuildtype=debugRelease:
meson setup build -Dbuildtype=release -Db_ndebug=if-releaseCompiler flags:
pkg-config --cflags libpkgcoreLink flags:
pkg-config --libs libpkgcoreStatic link flags:
pkg-config --static --libs libpkgcoreinclude/- public headerssrc/- library sourcesinternal/- internal headers
Library API is documented in header files under include/libpkgcore.
libpkgcore is licensed under the
GNU General Public License v2 or later.
See COPYING for license terms and COPYRIGHT for notices.