From 206ec8b5e103a96c151ca68e68486bb149f69738 Mon Sep 17 00:00:00 2001 From: CyberLeo Date: Mon, 2 May 2011 05:02:35 -0500 Subject: [PATCH] docs/spec: clarify layout for worlds and targets subdirs --- docs/spec | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/docs/spec b/docs/spec index 05ec2b4..fd90f21 100644 --- a/docs/spec +++ b/docs/spec @@ -35,6 +35,38 @@ seed/ is used to seed the initial chroot for building a world. A world is a set of config files (src.conf, kernconf) that generates a particular base system build, along with the base system build generated by those config files. These are built off of whatever is in /usr/src at the moment. +Layout for worlds: (All but config/ are created as needed, and obliterated on clean) +worlds/ + / + / + config/ + - Kernel config file for this world; copied to /usr/src/sys//conf/ before build + src.conf - Base system build configuration file; copied to /etc/src.conf before build + src@ - Symlink to source tree to use for build; assume /usr/src if missing + chroot/ - Chroot directory for isolating builds; seeded by seed/base//base.?? before build + log/ - Logfiles generated by build system go here + obj/ - Object file directory; null-mounted onto /usr/obj before build + root/ - Final world image ready for use + + A target is a set of config files (make.conf, leaf_ports, port_options) and a system overlay that takes a given world and transforms it into a viable system, which is then carved up and packaged into a firmware. +Layout for targets: (All but config/ and world@ are created as needed, and obliterated on clean) +targets/ + / + / + config/ - Target configuration goes here + make.conf - Port build configuration file; copied to /etc/make.conf before build + port.options/ - Options framework config files, generated by 'make config' in a port directory; copied to /var/db/ports/ before build and scavenged therefrom afterwards + / - + options - + port.lst - List of leaf ports to build and install; dependencies will be installed automatically + ports@ - Symlink to ports tree to use for build; assume /usr/ports if missing + world@ - Symlink to the proper world against which this target is to be built + log/ - Logfiles generated by build system go here + chroot/ - Chroot directory for isolating builds; seeded by world/root, so make sure the target world is built first + bdeps/ - Port build dependencies; not installed in the final image, but useful for reducing build time of ports, since the chroot is cleared out after every build + pkg/ - Assembled binary packages to be installed in final image + root/ - Final target image ready for packaging into image + Packages are built for a world, but specific to a target because they may have target-specific port_options or make.conf tweaks applied. -- 2.42.0