Updated: 2005-03-02
Created: 2003
A less schematic discussion of many of the same concepts is available here.
Bear in mind the concept of unavoidable functionality: it must be implemented, the only choice is whether in the computer or the user's head (e.g. spooling, compilers, ...).
usr/lib/emacs/site-init.el
same as
lib/site-init.el/emacs/usr
.
cd
changes the set of default keywords.fileutils/bin/ls fileutils/man/ls.1 textutils/bin/cat textutils/man/cat.1
bin/ls man/ls.1 bin/cat man/cat.1
/opt
), with several
trees and subtrees.
cpio
not suitable.
Not so much package specific, but package system specific.
Some packages contain only dependencies, usually called virtual packages.
depot
subdirectory in which
packages are installed with package name leading.
tar
archives with scripts and manifest.
cpio
archive.
.rpmsave
(overriden) or
.rpmnew
(not overriding). Probably its best
feature.
cpio
;
not a bad choice overall, as tar
is a bigger
mess, especially with long filenames. Historical reasons too.
.spec
file. Poorly designed format, in particular for relocatable
packages.
.spec
file extensions. Because of this and different distribution
filesystem layouts, RPM packages are not portable.
ar
archive that contains a couple of
tar
archives and a tag file.
pkgadd
tar
archive with in-band
scripts.
General principle: left to right increasing specificity.
-devel
or
-doc
.
lib
prefix have become
popular (Debian, Mandrake).
It should have major hierarchies (e.g. /
,
usr
) and frameworks/subhierarchies
(e.g. TeX
, X11R6
,
grass
) in which multiple related (by use of the
same libraries or data formats) get merged.
.spec
file is
self contained and can be used independently. But there can
be many patch files, with improper names.
nosrc
RPMs.