62 lines
2.3 KiB
Plaintext
62 lines
2.3 KiB
Plaintext
## 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.24** was released on **May 2nd, 2013**.
|
|
|
|
### Build requirements
|
|
|
|
To build this you'll need:
|
|
|
|
- GNU make
|
|
- pkg-config
|
|
- zlib
|
|
- openssl
|
|
- libarchive[0] >= 3.0.2
|
|
- confuse[1] >= 2.7
|
|
|
|
and optionally:
|
|
|
|
- graphviz and doxygen (--with-api-docs) to build API documentation.
|
|
- atf >= 0.15 (--with-tests) to build the Kyua test suite [2].
|
|
|
|
### Build instructions
|
|
|
|
Standard configure script (not generated by GNU autoconf).
|
|
|
|
```
|
|
./configure --prefix=/blah
|
|
make -jX
|
|
make install
|
|
```
|
|
|
|
By default PREFIX is set `/usr/local` and may be changed by setting `--prefix` in the
|
|
`configure` script. The `DESTDIR` variable is also supported at the install stage.
|
|
|
|
There are some more options that can be tweaked, see them with
|
|
`./configure --help'.
|
|
|
|
Good luck!
|
|
|
|
[0] http://www.libarchive.org
|
|
[1] http://www.nongnu.org/confuse
|
|
[2] http://code.google.com/p/kyua
|