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.