"Fossies" - the Fresh Open Source Software Archive 
As a special service "Fossies" has tried to format the requested text file into HTML format (style:
standard) with prefixed line numbers.
Alternatively you can here
view or
download the uninterpreted source code file.
1 _ _ _ ___ _ _____
2 | | | |_ _ (_) | _ \ |/ / __|
3 | |_| | ' \| | | _/ ' < (_ |
4 \___/|_||_|_| |_| |_|\_\___|
5
6
7 I. Introduction
8
9 The modular architecture of UniPKG allows everyone to easily write their own
10 backend and package handling libraries. This document describes the ways
11 how these libraries are expected to work by unipkg.
12
13 Note that the dynamic loading of libraries also allows coding them in other
14 languages than only C.
15
16
17 II. Database backend
18
19 The database backend is set fix in unipkg config, default is set in unipkg.c by the
20 DEFDB definition. The following functions are expected from database backend:
21
22 opendb
23 closedb
24 iswriteable
25 rewinddb
26 readpkg
27 writepkg
28 findpkg
29 delpkg
30
31 The full description of these functions, how they work and what they should
32 look like and return is in unipkglib/unipkg-dbskeleton.c
33
34
35 III. Package handling
36
37 The package handling libraries are being looped. The list of libraries is set
38 in unipkg config, otherwise default (see saneconfig() function in unipkg.c) is
39 used. The libraries are looped in given order, we are calling identify found
40 in each library on the opened package -- and we use first library that is able
41 to succesfully identify the package and claim that the library can handle it.
42
43 The following functions are expected:
44
45 identify
46 pkgdetails
47 pkginstall
48
49 The full description of these functions, how they work and what they should
50 look like and return is in unipkglib/unipkg-pkgskeleton.c