6.1. Keeping sources
With default configuration from rdd.def anybuilds are stored just in the root of working directory. With few packages that location is the most simple and straightforward. But when we start handling tens and hundreds of packages, another organisation scheme is needed.
ports directory and plainpath
The system implies the next key directories:
- ./ports/packages/ for anybuilds.
- ./ports/list/ for lists (they are described later).
[all] #rdd_prf_id = plainroot, plaincc, tch, plainroot rdd_prf_id = plainroot, plaincc, tch
Dedicated ports/ directory provides more capabilities for keeping large amount of sources, for example, it may be stored in version control system.
It is possible to position anybuilds by the hash from the first letter of the package. Example:
- ./ports/packages/m/m4-1.2.3/
- ./ports/packages/x/xz-5.2.5/
- ./ports/packages/x/xview-3.4.5/
Sources in dedicated directory
Examples above instructed you to locate archives with sources inside directory of anybuild. If we want flexible control over anybuild source, the archives will bother us.
There is dedicated directory for all source archives:
- ./ports/srcstatic/
The priority of archive inside anybuild is higher, then of dedicated directory. So the archives from ports/srcstatic/ would be used only in case, when directories with anybuilds do not have them.
Patches in dedicated directory
There is similar dedicated directory for patches.
- ./ports/patch/
The priority of patches inside anybuild directory is higher, then of dedicated directory.