addpkg
[ -u ]
[ -f ]
[ -r
root ]
package.pkg.tar.*
addpkg
installs a binary package archive into the system.
The installation sequence is:
1. Parse archive (name, version, file list) 2. Check footprint against .footprint (if present) 3. Check for conflicts with installed packages 4. Create groups and users from package metadata 5. Extract archive to root 6. Remove orphaned files (on upgrade) 7. Update package database 8. Run ldconfig and triggers 9. Apply file permissions from metadata 10. Apply file capabilities from metadataGroups and users are created
before
file extraction so that installed files can reference the correct ownership.etc/ are preserved; the new version is placed alongside as file.new .etc/ files are left untouched; missing ones are installed.-r root.footprint
file exists in the same directory as the package archive,addpkg
compares the archive contents against it before installing.
New files (present in archive but absent from
.footprint )
are reported as:
addpkg: footprint: new <file list> addpkg: footprint: errorInstallation is blocked unless
IGNORE_NEW=yes
is set in
/etc/mkpkg.conf ,
in which case new files are silently accepted.
Use
-f
to bypass the footprint check entirely.
Missing files (in
.footprint
but absent from archive) always block installation regardless of IGNORE_NEW .Fresh installetc/ are extracted normally.Same-version reinstall (-f)etc/ files are skipped. Missing ones are installed.Upgrade (-u)etc/ files are installed as file.new for manual review. Missing ones are installed normally.group entrypermission entrycapability entryaddpkg
runs cache-regeneration triggers:
usr/share/fonts/ -> fc-cache -s usr/share/glib-2.0/schemas/ -> glib-compile-schemas usr/lib/gdk-pixbuf-2.0/ -> gdk-pixbuf-query-loaders usr/share/mime/ -> update-mime-database usr/share/icons/ -> gtk-update-icon-cache usr/share/applications/ -> update-desktop-databaseEach trigger fires at most once per install. Missing trigger commands are silently skipped.
PKG_ROOT/var/lib/pkg/db/var/lib/pkg/meta//etc/mkpkg.conf0
on success,
1
on error.delpkg(8), infopkg(8), mkpkg.conf(5), MAKEPKG(5)