XBPS Library API
20240111
The X Binary Package System
Main Page
Topics
Data Structures
include
mainpage.h
1
/**
2
* @mainpage The X Binary Package System Library API
3
* @section intro_sec Introduction
4
*
5
* XBPS is a new binary package system designed and implemented from
6
* scratch, by <b>Juan Romero Pardines</b>. This document describes
7
* the API used by the XBPS Library, that is the base to implement
8
* a package manager frontend, such as is implemented in the xbps
9
* command line interfaces.
10
*
11
* XBPS uses extensively NetBSD's proplib, a library that provides an
12
* abstract interface for creating and manipulating property lists.
13
* Property lists have object types for boolean values, opaque data, numbers,
14
* and strings. Structure is provided by the array and dictionary collection
15
* types. Property lists can be passed across protection boundaries by
16
* translating them to an external representation. This external representation
17
* is an XML document whose format is described by the following DTD:
18
*
19
* http://www.apple.com/DTDs/PropertyList-1.0.dtd
20
*
21
* NetBSD's proplib has been choosed because it's fast, extensible, and easy
22
* to use. These are the three facts I mentioned:
23
*
24
* - <b>Fast</b> because proplib uses an ultra optimized
25
* <em>red-black tree</em> implementation to store and find all its objects,
26
* the same implementation has been used in commercial projects by
27
* <em>Apple Inc</em>.
28
*
29
* - <b>Extensible</b> because you don't have to worry about ABI problems
30
* with its objects, arrays and dictionaries can be extended without such
31
* problems.
32
*
33
* - <b>Easy</b> to use (and learn) because it has a superb documentation
34
* available in the form of manual pages.
35
*
36
* Not to mention that its arrays and dictionaries can be externalized to
37
* files (known as plists) and <b>are always written atomically</b>. You
38
* have the whole file or don't have it at all.
39
*/
Generated on Thu Jan 11 2024 14:37:42 for XBPS Library API by
1.9.8