My personal project and infrastructure archive
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
nomicon/pkgs-ng/README

2.1 KiB

* 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:
./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/lexer
(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., coreutils)
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
./applications/misc