xbps


The X Binary Package System

THIS PAGE IS OBSOLETE: MAIN SITE NOW ON GITHUB

<wiki:gadget url="http://www.ohloh.net/p/480117/widgets/project_partner_badge.xml" height="60" border="0"/>

What's XBPS?

The X Binary Package System (in short XBPS) is a new binary package system designed and implemented from scratch. Its goal is to be fast, easy to use, bug-free, featureful and portable as much as possible.

The XBPS code is totally compatible with POSIX/SUSv2/C99 standards, and released with a Simplified BSD license (2 clause). There is a well documented API provided by the XBPS Library that is the basis for its frontends to handle binary packages and repositories. Some highlights:

  • Supports multiple local and remote repositories (FTP/HTTP/HTTPS).
  • SHA256 hashes for package metadata, files and binary packages.
  • Supports package states (ala dpkg) to mitigate broken package installs/updates.
  • Ability to resume partial package install/updates.
  • Ability to unpack only files that have been modified in package updates.
  • Ability to use virtual packages.
  • Ability to replace packages.
  • Ability to put packages on hold (to never update them. NEW in 0.16).
  • Ability to preserve/update configuration files.
  • Ability to force reinstallation of any installed package.
  • Ability to downgrade any installed package.
  • Ability to execute pre/post install/remove/update scriptlets.
  • Ability to check package integrity: missing files, hashes, missing or unresolved (reverse)dependencies, dangling or modified symlinks, etc.
  • Low memory footprint.
  • Fast dependency resolver and sorting algorithms.

The latest stable version 0.25 was released on July 5th, 2013**.**

Do you want to try XBPS and judge by yourself? try Void Linux at http://www.voidlinux.eu

Howto

  • How to build the XBPS utilities?
  • How to create a local repository with binary packages?
  • How to remove package orphans?
  • How to use virtual packages?

Contributing

  • Join us at #xbps on irc.freenode.net.
  • I'm interested in exotic hardware (mips, arm architectures) to port xbps and voidlinux (right now voidlinux can run on x86 (32/64 bits) and the Raspberry PI.
  • If you think this project is helpful in any way, would you like to help the author to continue developping it? you can help him contributing a small monetary donation via paypal.

https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=7R3QBAP728YL8'>https://www.paypal.com/en_US/i/btn/btn_donateCC_LG.gif' />

Project Information

Labels:
POSIX PackageManager C Linux