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 a few 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.pkgaddtar 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.