libCUDF - CUDF (Common Upgradeability Description Format) library
=================================================================

libCUDF is a reference implementation of CUDF (Common Upgradeability
Description Format), a document format to describe package upgrade scenarios,
in a package manager agnostic way.  distributions.

A CUDF document consists of an optional leading "preamble", a "package
universe", and a trailing "user request":

- The package universe describes all packages known to the package
  manager, a subset of which (the "package status") denotes the
  package being currently installed on a given machine.

- The user request denotes a change to the package status requested by
  the user, e.g.: "install package foo", "remove package bar", ...

- The preamble contains meta-information such as a typing information
  for custom package properties, checksums, document unique
  identifiers, ...

A CUDF document is naturally complemented by a "solution" describing
the resulting package status (if any) that satisfies the user request,
as found by a package manager.

libCUDF enables manipulation of CUDF and related documents.


Development
-----------

Development happens on GitLab, in the [CUDF project][1]. There you can find:

* [releases][4]
* [Git repository][5]
* [bug reports][6]

[1]: https://gitlab.com/irill/cudf
[4]: https://gitlab.com/irill/cudf/-/tags
[5]: https://gitlab.com/irill/cudf/-/tree/master
[6]: https://gitlab.com/irill/cudf/-/issues

Please report bugs using the [bug tracker][6].
Patches are welcome!, just submit a merge request on GitLab.

If you're in a hurry and just want to get the latest version of the code, here
is the command you're looking for:

    $ git clone https://gitlab.com/irill/cudf/


Reference
---------

libCUDF implements the Common Upgradeability Description Format (CUDF)
2.0 [specifications][2], edited by the [Mancoosi project][3].

[2]: http://www.mancoosi.org/reports/tr3.pdf
[3]: http://www.mancoosi.org


 -- Stefano Zacchiroli <zack@upsilon.cc>  Sun, 14 Oct 2012 16:28:32 +0100
