The XBPS package system uses some ideas from other free available implementations such as dpkg (and its frontend apt-get), RPM, pacman and pkg_install from FreeBSD/NetBSD, etc.
Product's homepage
Here are some key features of "XBPS":
· Packages are built in a chroot.
· Simple dependency handling (minimal required version).
· Metadata handling via NetBSD's proplib. See http://code.google.com/p/portableproplib/
· Multiple binary package repositories. No configuration files required.
· Fast dependency handling and sorting code.
· SHA256 checking of source distribution files, binary packages and installed package files.
· Built-in code to find and remove package orphans.
· Built-in code to upgrade packages.
· Built-in code to search for packages and its information from registered repositories.
· Built-in code to support INSTALL/REMOVE scripts at pre/post installation/removal of binary packages.
· Built-in handling support for configuration files, i.e modified files by the user aren't removed and new files don't overwrite existing ones.
· Support for noarch packages, i.e shared binary packages between different architectures.
· Different compression methods of binary packages via libarchive. See http://code.google.com/p/libarchive/
· Only C code and portable shell scripting, i.e doesn't use GNU Bash or GNU libc specific features.
· The C code is extensively tested via valgrind (periodically) to fix possible memleaks. Let me know if you find one!
· It is able to build multiple binary packages from a single source build, also called subpackages.
· Automatic compression of manual pages while building from source.
· Automatic (un)registration of GNU info files in binary packages.
· Support for running multiple triggers in binary packages at pre/post installation/removal of binary packages, i.e no duplicated code.
· A true one man only project. All the work (code and package templates) done by myself, i.e me VS the world.
What's New in This Release: [ read full changelog ]
· This version fixes a bug which occurred while resolving deps with virtual packages in a transaction, fixes "xbps-bin reconfigure all" (regression added in 0.13), adds performance improvements, and redirects more errors/warnings to stderr in xbps-bin/repo.