Appendix C Catalogue package families

Use peipkg search to find what your configured repositories currently offer. This appendix records the package-family, integration and build details; the install procedure covers applying a change.

C.1 Canonical package names #

New Peios catalogue packages use canonical reverse-DNS names. The leading segments identify the upstream namespace and the final segment preserves the familiar package name, even when that deliberately repeats part of the namespace:

com.amd.amd-ucode
org.gnu.bash
org.sourceware.elfutils
org.peios.peinit

Peios-built packages of third-party software retain the upstream namespace; Peios-owned software and Peios-specific integration packages use org.peios. The name identifies the packaged software, while the repository signature and build provenance identify who packaged it. It does not imply that upstream signed or endorsed a downstream package.

Related payloads retain that canonical base. For example, org.sourceware.elfutils-libs carries libdw and libasm, org.sourceware.elfutils-libelf carries libelf, and org.sourceware.elfutils-devel carries their development interfaces without requiring the command-line tools to be installed.

The elfutils tools include command manuals and eu-make-debug-archive for preparing an offline debugging archive. To archive one executable, use eu-make-debug-archive debug.a -e /path/to/program; its debugging information must be available. The optional --sudo mode requires a separately installed and authorized privilege helper. The debuginfod service/client and stackprof components are not included in this family.

GNU C Library administration commands and their manuals are in org.gnu.glibc-bin. Profiling and tracing commands, including the Perl-based mtrace, are in org.gnu.glibc-utils. Extra legacy character converters are in org.gnu.glibc-gconv-extra, and the reference manual is in org.gnu.glibc-doc, as HTML under /usr/share/doc/org.gnu.glibc/html/. These utilities retain Peios's fixed authority and resolver providers; installing them does not make local passwd files an account authority.

Libtraceevent's library symbols are in org.kernel.libtraceevent-libs-debuginfo, while plugin symbols are in org.kernel.libtraceevent-debuginfo. The tracing libraries provide their API manuals and HTML documentation through their respective -doc packages.

Mozilla root-certificate data is installed by org.mozilla.ca-certificates at /usr/share/ca-certificates/mozilla.crt. The package supplies server-authentication roots from the tracked Firefox release data; it does not install machine trust policy by itself. A flat PEM store cannot express Mozilla's per-root distrust dates, so loading it alone does not reproduce every Firefox trust restriction.

The eudev family follows the same rule: io.github.eudev-project.eudev contains the daemon, tools, rules and Peios service integration; io.github.eudev-project.eudev-libudev contains the runtime library; and io.github.eudev-project.eudev-devel contains the public header, linker name and pkg-config metadata. Installing libudev for an application therefore does not pull in the system device manager. The device-manager package uses peiosutils for the core applets in its coldplug hook; it does not install the GNU Coreutils bootstrap package into the running system.

FIGlet is installed as org.figlet.figlet. Its commands, font catalogue and manuals form one small runtime package; detached debugging symbols and sources use the conventional -debuginfo and -debugsource suffixes.

The file-identification command is com.darwinsys.file. Its libmagic ABI, architecture-independent format database and development interface are split as com.darwinsys.file-libmagic, com.darwinsys.file-magic and com.darwinsys.file-devel, so library consumers do not acquire the command.

GNU find and xargs are installed as org.gnu.findutils; their manuals are in org.gnu.findutils-common. The locate and updatedb tools are omitted until Peios has a service design for maintaining their global index. Because Peipkg normalizes POSIX ownership and mode metadata, find predicates such as -user, -group and -perm inspect that compatibility metadata; they do not query KACS policy and must not be used as authorization checks.

GNU Bison's parser generator, yacc frontend and parser skeletons are in org.gnu.bison. Install org.gnu.bison-devel when a project uses the traditional liby.a convenience library or the bison-i18n.m4 Autoconf macro. Generated-parser message catalogs are independently available through org.gnu.bison-runtime.

GNU Binutils' assembler, linker and object tools are in org.gnu.binutils; headers, linker names and static libraries are in org.gnu.binutils-devel. The optional profiler is org.gnu.binutils-gprofng, including its command manuals. Its library's linker name and static archive are separately available in org.gnu.binutils-gprofng-devel, which also installs the matching profiler runtime. Ordinary compiler builds do not need the profiler.

Binutils supports Zstandard-compressed DWARF debug sections through objcopy --compress-debug-sections=zstd and ld --compress-debug-sections=zstd. The runtime package brings in com.facebook.zstd-libs; applications do not need the development package merely to use these commands. objcopy --decompress-debug-sections restores uncompressed debug sections when another consumer needs them.

The Flex scanner generator is io.github.westes.flex; its flex++ frontend is included with the command. The independently usable libfl runtime is io.github.westes.flex-libs, while io.github.westes.flex-devel adds the C++ header, static archive and linker name without folding those development files into either runtime package.

GNU Awk is installed as org.gnu.gawk and provides both the gawk and awk command names. Loadable extensions and the password/group lookup helpers stay with the interpreter, reusable Awk libraries and manuals are in org.gnu.gawk-common, and org.gnu.gawk-devel provides gawkapi.h for building additional extensions. Arbitrary-precision MPFR arithmetic is enabled. Persistent arrays are disabled because their process-wide ASLR manipulation is outside the Peios process contract. The interactive debugger (gawk -D) has GNU Readline line editing and command history.

The GNU debugger is installed as org.gnu.gdb, with the gcore, gstack and gdb-add-index helpers, Python scripting, the text user interface (gdb -tui), Readline line editing and iconv character-set conversion. It reads compressed debug sections (zlib, zstd and LZMA MiniDebugInfo) and finds a program's symbols in the matching -debuginfo package by build ID under /usr/lib/debug. The remote debugging stub is the separate org.gnu.gdb-gdbserver, and org.gnu.gdb-devel adds the JIT reader interface header. Guile scripting, CTF trace files, Intel Processor Trace, debuginfod lookups and source highlighting are not included.

The Expat XML parser library is installed as io.github.libexpat.expat; its headers, pkg-config and CMake files are in io.github.libexpat.expat-devel, the static library in io.github.libexpat.expat-static, and the xmlwf well-formedness checker in io.github.libexpat.expat-tools.

DWZ, the DWARF duplicate-removal tool, is installed as org.sourceware.dwz. Catalogue packages are built with it, so their -debuginfo payloads are already deduplicated per file. It can also optimise zstd-compressed DWARF while retaining Zstandard compression. Debugedit's tools are org.sourceware.debugedit; its RPM-style find-debuginfo driver is the separate org.sourceware.debugedit-find-debuginfo, which brings in GDB and DWZ.

util-linux's libblkid and getopt are joined by three command packages: org.kernel.util-linux-schedutils (taskset, chrt, ionice and renice, for CPU affinity and scheduling), org.kernel.util-linux-script (script, scriptreplay and scriptlive, for recording terminal sessions) and org.kernel.util-linux-extra (flock, setsid, rev, col, colcrt and colrm). util-linux commands that duplicate peiosutils, or that manage logons, storage, capabilities or namespaces, are not included.

Tcl 8.6 is installed as org.tcl-lang.tcl: tclsh, libtcl and the script library. Its headers (including the private ones under /usr/include/tcl-private), stubs library, tclConfig.sh and C API manuals are in org.tcl-lang.tcl-devel. Expect is org.tcl-lang.expect, providing the expect interpreter and package require Expect, with org.tcl-lang.expect-devel for embedding; Expect's example scripts (autoexpect, unbuffer, mkpasswd and the rest) are not shipped. The DejaGnu test harness, runtest, is org.gnu.dejagnu, and its dejagnu.h unit-test header is org.gnu.dejagnu-devel.

Three C and C++ unit-testing frameworks are available for building and running test suites:

  • GoogleTest and GoogleMock are com.google.googletest, with headers, the CMake package (find_package(GTest)) and pkg-config modules in com.google.googletest-devel and static libraries in com.google.googletest-static. The shared libraries' sonames carry the full release version, so test binaries rebuild with each GoogleTest update.
  • CUnit (the maintained CUnity continuation of SourceForge CUnit) is com.gitlab.cunity.cunit, which holds the XML report stylesheets; headers, the pkg-config module and the CMake package are in com.gitlab.cunity.cunit-devel. CUnit builds only a static library, com.gitlab.cunity.cunit-static, which the development package brings in.
  • Check is io.github.libcheck.check, with headers, the pkg-config module and the AM_PATH_CHECK Autoconf macro in io.github.libcheck.check-devel and the static library in io.github.libcheck.check-static. checkmk, which generates Check test programs from compact descriptions, is the separate io.github.libcheck.check-checkmk.

GNU Gettext's catalog commands are installed as org.gnu.gettext, with manuals, extraction rules, project templates and the commands' translated messages in org.gnu.gettext-common. Project maintainers install org.gnu.gettext-devel for autopoint, gettextize, the Autoconf macros and public headers. The independently usable libasprintf, libgettextpo and libtextstyle ABIs are separate runtime packages. Glibc supplies Peios's libintl; Gettext therefore does not install a competing implementation, while its commands and shell integration retain full native-language support. Java, C#, Emacs and terminal-styling integrations are not included. The optional po-fetch and AI-assisted spit helpers are also omitted until their complete runtime dependencies are available as Peios packages.

GNU gperf is installed as org.gnu.gperf. Its generated C and C++ source has no gperf runtime dependency, so no development or runtime-library subpackage is needed; debugging symbols and their matching source are available through the conventional org.gnu.gperf-debuginfo and org.gnu.gperf-debugsource packages.

GNU GMP's C runtime is org.gnu.gmp; the C++ wrapper is the independently installable org.gnu.gmp-c++, so C-only consumers do not acquire libstdc++. Headers and linker names are in org.gnu.gmp-devel, while static archives are in org.gnu.gmp-static. Builds use GMP's generic x86-64 runtime dispatch rather than instructions selected from the package builder's CPU, so the published libraries remain portable across Peios x86-64 systems.

GNU Grep is installed as org.gnu.grep and provides the grep, egrep and fgrep command names. Its manuals and translated messages are in org.gnu.grep-common. Basic, extended, fixed-string and Perl-compatible (grep -P) regular expressions are all supported; grep -P uses the PCRE2 library from org.pcre.pcre2, which is installed alongside Grep.

GNU gzip is installed as org.gnu.gzip, containing gzip, gunzip, zcat and uncompress; its manuals are in org.gnu.gzip-common. The optional org.gnu.gzip-utils package adds the non-interactive shell helpers such as zgrep, zdiff, zforce, znew and gzexe together with their declared command dependencies. zless and zmore are omitted until the catalogue has a pager provider, so installing the utilities never leaves unusable commands.

The Integer Set Library runtime is installed as io.sourceforge.libisl.isl. Headers, the linker name and pkg-config metadata are in io.sourceforge.libisl.isl-devel; the static archive and its static GMP closure are in io.sourceforge.libisl.isl-static. Published builds use ISL's portable mode rather than selecting instructions from the package builder's CPU.

Kernel module administration commands are installed as org.kernel.kmod; the independently usable libkmod runtime is org.kernel.kmod-libs. Headers and pkg-config metadata are in org.kernel.kmod-devel, with the static archive in org.kernel.kmod-static. The tools support gzip-, xz- and zstd-compressed modules and PKCS#7 signature reporting. depmod is a machine-facing command at /libexec/depmod; package transactions invoke it when a kernel-module payload changes.

The Linux capabilities runtimes libcap and libpsx are installed as org.kernel.libcap. Capability inspection and file-capability commands are in org.kernel.libcap-tools, development interfaces in org.kernel.libcap-devel, and both static archives in org.kernel.libcap-static. Go and PAM integrations are not included in this package family.

Libconfig's C runtime is installed as io.github.hyperrealm.libconfig; its self-contained C++ runtime is io.github.hyperrealm.libconfig-c++. Headers, linker names, pkg-config and CMake metadata for both interfaces are in io.github.hyperrealm.libconfig-devel, while the static archives are in io.github.hyperrealm.libconfig-static.

The libnl protocol-library family is installed as io.github.thom311.libnl. Its command suite, CLI support library, dynamically loaded traffic-control modules and lookup databases are in io.github.thom311.libnl-tools. Install io.github.thom311.libnl-devel for the complete public header and pkg-config surface, and io.github.thom311.libnl-static for the seven static libraries.

The hardware performance-event discovery and encoding runtime is net.sourceforge.perfmon2.libpfm. Its public headers, linker name and API/PMU manuals are in net.sourceforge.perfmon2.libpfm-devel; the static encoder is in net.sourceforge.perfmon2.libpfm-static. Python bindings are not included.

GNU Libtool's command-line tools, macros and support files are installed as org.gnu.libtool. The configured libtool command records the target compiler and ABI paths, so this package is architecture-specific even though its commands are shell scripts. The independently usable libltdl runtime is org.gnu.libtool-ltdl; its headers and linker metadata are in org.gnu.libtool-ltdl-devel, with the static archive in org.gnu.libtool-ltdl-static.

GNU M4 is installed as org.gnu.m4. The package includes the command, localised messages and manual; matching source, debuginfo and debugsource packages are published alongside it.

GNU Make is installed as org.gnu.make. Install org.gnu.make-devel to compile loadable modules against its gnumake.h interface. Guile integration is not included. Recipes use Peios' /usr/bin/sh system-shell path by default.

Meson is installed as com.mesonbuild.meson. The package includes the meson command and manual, and declares Ninja as a runtime dependency because Meson's normal build workflow invokes it. Meson's Python implementation is private to the application rather than exposed as a system-wide Python library.

GNU MPFR's shared runtime is installed as org.gnu.mpfr. Its public headers, linker name and pkg-config metadata are in org.gnu.mpfr-devel; the static archive and its static GMP closure are in org.gnu.mpfr-static. The library is built with thread-safe storage and publishes matching source, debuginfo and debugsource packages.

ncurses terminal-information utilities are installed as org.gnu.ncurses. The wide-character ABI 6 libraries are in org.gnu.ncurses-libs, while the terminal database and tabset files are in org.gnu.ncurses-terminfo. Headers, linker names, pkg-config metadata and API manuals are in org.gnu.ncurses-devel; static libraries are in org.gnu.ncurses-static. Narrow-character, C++ and Ada compatibility surfaces are not included.

The Ninja build executor is installed as org.ninja-build.ninja. Its Bash and Zsh completions, Vim syntax file, README, source manual and ninja(1) command reference are included with the command. The command reference is generated from the packaged executable's help output. Ninja uses the system shell to execute build rules, so the package depends on org.git.kernel.dash; matching source, debuginfo and debugsource packages are published alongside it.

IANA timezone data is installed as org.iana.tzdata under /usr/share/zoneinfo. The build uses the backward-compatible fat TZif format so older timezone compilers preserve final transitions that change daylight saving status or an abbreviation without changing the UTC offset.

The numactl command suite is installed as io.github.numactl.numactl. The shared libnuma runtime is io.github.numactl.libnuma; its headers, linker name, pkg-config metadata and API manuals are in io.github.numactl.libnuma-devel, while the static archive and its static libatomic closure are in io.github.numactl.libnuma-static. Matching source, debuginfo and debugsource packages are published alongside the family.

OpenSSL's general cryptography runtime, providers, engines and vendor configuration are installed as org.openssl.libcrypto; the TLS runtime is org.openssl.libssl. The openssl command and its user manuals are in org.openssl.openssl, while certificate-management Perl utilities are in the architecture-independent org.openssl.openssl-perl package. Headers, linker names, pkg-config and CMake metadata, and API manuals are in org.openssl.openssl-devel; static libraries are in org.openssl.openssl-static. Package-owned configuration is stored beneath /usr/etc/ssl and appears at OpenSSL's compiled /etc/ssl lookup path through Peios's merged configuration view. Matching source, debuginfo and debugsource packages are published alongside the family.

The kernel DWARF and BTF tool suite is installed as org.kernel.pahole. It includes pahole and the accompanying dwarves inspection tools, shell utilities and runtime data. The public libdwarves ABI is split into org.kernel.libdwarves, with headers and linker names in org.kernel.libdwarves-devel, so library consumers do not acquire the command suite. Release builds use upstream's signed tarballs because those contain the embedded libbpf sources needed for a complete build; matching source, debuginfo and debugsource packages are published alongside the family.

The ELF metadata editor is installed as org.nixos.patchelf. It includes the patchelf command, manual and Zsh completion, with matching source, debuginfo and debugsource packages. The command can inspect and change an ELF object's interpreter, run path, dynamic dependencies, SONAME and executable-stack state. Upstream release archives are not maintainer-signed, so newly discovered releases use an explicit HTTPS trust-on-first-use exception and become immutable once recorded in Pekit's SHA-256 lock.

PCI inspection and configuration tools are installed as cz.ucw.pciutils. It includes lspci, setpci, pcilmr, update-pciids and their manuals. The shared libpci ABI and bundled PCI ID database are in cz.ucw.libpci; headers, linker input, pkg-config metadata and the API manual are in cz.ucw.libpci-devel, while the static archive is in cz.ucw.libpci-static. Builds enable compressed ID files, explicit DNS lookups, kernel-module lookup through libkmod and udev HWDB fallback. Matching source, debuginfo and debugsource packages are published alongside the family, using release archives authenticated by maintainer Martin Mares's OpenPGP key.

Standard network-name databases are installed as org.debian.netbase. The package places the protocol, service and Ethernet-type registries in /usr/etc; Peios's merged configuration view exposes those vendor defaults as /etc/protocols, /etc/services and /etc/ethertypes for libc and networking tools. The RPC registry remains part of glibc at /usr/etc/rpc. Locally managed configuration can therefore override these files without modifying package payloads. Perl's shared runtime depends on netbase because its Socket, IO and Net::Ping modules perform named protocol and service lookups.

Perl is installed as org.perl.perl, which also provides the perl virtual capability used by existing build dependencies. Architecture-independent core modules are in org.perl.perl-modules; the shared embedding library and XS modules are in org.perl.libperl; and public CORE headers and linker names are in org.perl.perl-devel. Language, utility and module manuals are split into org.perl.perl-doc. The threaded interpreter uses stable major.minor module paths so a patch update does not abandon locally installed modules, and links the catalogue's zlib and bzip2 rather than bundled copies. Crypt, GDBM and DB extensions remain disabled until their libraries have production packages. Matching source, debuginfo and debugsource packages are published alongside the family. CPAN currently offers Sigstore bundles rather than a detached OpenPGP signature Pekit can verify, so discovered releases become immutable through their Pekit SHA-256 lock after HTTPS retrieval until Sigstore verification is available.

The system pkg-config implementation is org.pkgconf.pkgconf. It provides both the pkgconf and pkg-config command names and the bomtool, spdxtool and pccritic metadata utilities. Install org.pkgconf.pkgconf-devel when regenerating Autoconf builds that need the pkg.m4 macros. The independently usable shared library is org.pkgconf.libpkgconf; public headers, linker name and pkg-config metadata are in org.pkgconf.libpkgconf-devel, with the static archive in org.pkgconf.libpkgconf-static. Matching source, debuginfo and debugsource packages are published alongside the family.

GNU Readline's line-editing and history libraries are installed as org.gnu.readline, linked against ncurses' libtinfo. Headers, linker names, pkg-config metadata and the readline(3) and history(3) manuals are in org.gnu.readline-devel, with static archives in org.gnu.readline-static. Interactive bc, the gawk debugger and Python's readline module (which serves input() and the basic REPL selected by PYTHON_BASIC_REPL) use it, giving Emacs- or vi-style editing, history recall and ~/.inputrc key bindings. Bash builds its own bundled copy of Readline and does not depend on this package.

Rsync is installed as org.samba.rsync, which also provides and replaces the earlier rsync package name. The main package supports IPv6, iconv, generic extended attributes, OpenSSL-accelerated checksums, xxHash, zstd and rolling checksum SIMD. POSIX ACL support is omitted because Peios uses KACS DACLs. The TLS transport wrapper is in org.samba.rsync-ssl, and the Python-based restricted SSH-command wrapper is in org.samba.rrsync, so ordinary local transfers do not acquire either interpreter. The command can be invoked in daemon mode manually, but Peios does not currently install an rsync peinit service. Matching source, debuginfo and debugsource packages are published alongside the family.

For now, commands require the complete canonical name:

peipkg install com.amd.amd-ucode

References to concrete packages in package metadata likewise record complete canonical names; virtual capability names remain unqualified. Unqualified-name resolution may be added in future when the final component identifies exactly one package, but it is not part of the current command contract.

Edit this page