EDOS Dose 2: OCaml libs for managing packages and their dependencies ==================================================================== Dose 2 is a framework made of several OCaml libraries for managing distribution packages and their dependencies. Though not tied to any particular distribution, Dose 2 forms a background of libraries which enable injecting packages coming for various distribution. Companion libraries (e.g. ceve) and tools (e.g. pkglab) rely on Dose 2 to manage packages coming from various distributions, e.g. Debian and Red Hat. Besides basic functionalities for querying and setting package properties, Dose 2 also implements algorithms for solving more complex problems (monitoring package evolutions, correct and complete dependency resolution, repository-wide uninstallability checks). Dose 2 libraries ---------------- Here is a brief summary of the components of Dose 2, it also forms a gentle introduction to the code base: - conduit: channel-like abstraction for pretty printing facilities - dosebase: package database, equipped with lifetime information - io: input/output of structured data - lifetime: life timelines, with support for disappearance/reappearance - mmap: bindings to mmap - napkin: abstract, distro-independent representation of package info - ocamldeb: parsing of Debian package descriptions into napkins - ocamlpkgsrc: parsing of NetBSD's pkgsrc packages into napkins - ocamlrpm: parsing of RPM package descriptions into napkins - packetology: core queries over repositories: (co-)installability, ... - progress: textual progress bar widget - rapids: data structure for storing historical metadata about napkins - satsolver: SAT solving - util: miscellaneous helpers LICENSE ------- Copyright (C) 2005-2008 Berke DURAK, INRIA Rocquencourt and Jaap BOENDER Funded by the EDOS and MANCOOSI projects. This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.