1 |
Here is a draft of what we are looking for for the comprehensive |
2 |
requirements document we need to develop. To help portage-ng |
3 |
development, please expand on this document and post your |
4 |
additions/improvements to this list. This doc will probably end up being |
5 |
10-15 pages long... |
6 |
|
7 |
portage-ng |
8 |
|
9 |
This is the specification for portage-ng, a package manager/"ports" |
10 |
system. portage-ng is intended to be able to perform the following tasks |
11 |
on an individual host system: downloading sources or pre-compiled |
12 |
packages from the Internet, configuration, compilation and installation |
13 |
of sources according to user requirements, general package management. |
14 |
In addition, portage-ng should be able to be easily extended to perform |
15 |
tasks that would be expected of it in an enterprise, cluster, or other |
16 |
kind of environment, which may include management of groups of systems |
17 |
over the network. |
18 |
|
19 |
architecture requirements: |
20 |
|
21 |
1) facilitate parallel, community development |
22 |
2) allow for easy extensibility and new feature additions over time |
23 |
3) provide a coherent model for (meta)data representation and storage |
24 |
4) will run on a wide variety of systems |
25 |
5) will run efficiently even on modest hardware |
26 |
6) in as much as possible, encourage and/or enforce the development of |
27 |
high-quality, versatile and maintainable code |
28 |
7) encourage/enforce separation of package metadata from specific build |
29 |
steps and algorithms |
30 |
8) allow for delivery of feature set that meets or exceeds expectations |
31 |
of existing user community |
32 |
|
33 |
design goals: |
34 |
|
35 |
1) reflect the sensibilities of "ports" system designs |
36 |
2) provide an easy-to-understand developer API |
37 |
3) provide an open, transparent architecture that reflects UNIX design |
38 |
philosophy |
39 |
4) In every way possible, program should be malleable to allow |
40 |
conformation to user needs and expectations, |
41 |
both interface as well as the specific actions performed by the program. |