1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
* Classification scheme for packages
- many packages fall under several categories; what matters is the
*primary* purpose of a package. For example, the libxml2 package
builds both a library and some tools; but it's a library foremost,
so it goes under ./development/libraries.
- when in doubt, refactor.
IF it's used to support SOFTWARE DEVELOPMENT:
IF it's a LIBRARY used by other packages:
IF it's directly related to GTK:
./development/libraries/gtk+
ELSE
./development/libraries
(e.g., libxml2)
ELSE IF it's a COMPILER:
./development/compilers
(e.g., gcc)
ELSE IF it's an INTERPRETER:
./development/interpreters
ELSE IF it's a development TOOL (or set of):
IF it's a PARSER GENERATOR (incl. lexers):
./development/tools/parsing
(e.g., bison, flex)
ELSE IF it's a BUILD MANAGER:
./development/tools/build-managers
(e.g., gnumake
ELSE
./development/tools/misc
(e.g., binutils)
ELSE
./development/misc
ELSE IF it's a TOOL (or set of):
# a tool is a relatively *small* program, esp. one intented to be
# used non-interactively
IF it's for NETWORKING:
./tools/networking
(e.g., wget)
ELSE IF it's for TEXT PROCESSING:
./tools/text
(e.g., diffutils)
ELSE IF it's a SYSTEM utility, i.e., something related or essential
to the operation of a system:
./tools/system
(e.g., init)
ELSE IF it's an ARCHIVER (which may include a compression function):
./tools/archivers
(e.g., zip, tar)
ELSE IF it's a COMPRESSION program:
./tools/compression
(e.g., gzip, bzip2)
ELSE
./tools/misc
ELSE IF it's a SHELL:
./shells
ELSE IF it's a SERVER:
IF it's a HTTP server:
./servers/http
(e.g., apache)
IF it's a X11 server:
./servers/x11
(e.g., xfree86)
ELSE
./servers/misc
ELSE IF it's a DESKTOP ENVIRONMENT (incl. WINDOW MANAGERS):
./desktops
(e.g., kde, gnome, fvwm)
ELSE IF it's an APPLICATION:
# a (typically large) program with a distinct user interface,
# primarily used interactively
IF it's a VERSION MANAGEMENT system:
./applications/version-management
ELSE IF it's for VIDEO playback/etc:
./applications/video
ELSE IF it's for GRAPHICS viewing/editing/etc:
./applications/graphics
ELSE IF it's for NETWORKING:
IF it's a MAILREADER:
./applications/networking/mailreaders
IF it's a NEWSREADER:
./applications/networking/newsreaders
ELSE
./applications/networking/misc
ELSE
./applications/misc
ELSE IF it's DATA (i.e., doe not have a straight-forward executable semantics):
IF it's related to SGML/XML processing:
IF it's a XML DTD:
./data/sgml+xml/schemas/xml-dtd
ELSE IF it's an XSLT stylesheet (okay, these are executable...):
./data/sgml+xml/stylesheets/xslt
|