The standalone build layout is unchanged. The copy helper maps:
| Local source | Destination |
|---|---|
| pax/ | src checkout: bin/pax/ |
| fvwm/ | xenocara checkout: app/fvwm/ |
The stdckdint/ component is a patch-style contribution rather than a
directory replacement: it adds include/stdckdint.h and a regress test and
hooks both into the existing include/Makefile and regress/lib/libc/Makefile.
The copy helper does not handle it; apply stdckdint/stdckdint.patch from the
src root instead (see stdckdint/README.md).
Use an existing CVS or Git checkout without host provisioning:
./fetch-src.ksh --list
doas ./fetch-src.ksh --copy-only /usr/src src/bin/pax
doas ./fetch-src.ksh --copy-only /usr/xenocara xenocara/app/fvwmThe short names pax and fvwm are accepted too. With no component arguments,
only components belonging to the detected target tree are copied.
The helper rejects the wrong tree, unknown components and symlinked roots.
It does not replace parent directories or neighboring utilities. Old component
directories are recoverable under TREE/.wip-backups/NAME.XXXXXXXX/component;
nested CVS metadata is retained. Before the swap, the files that are about to
be removed and added are recorded in TREE/.wip-changes/NAME.created.txt and
TREE/.wip-changes/NAME.deleted.txt (one path per line, relative to the
component root, CVS metadata excluded), so cvs add, cvs remove and a later
cvs diff can be driven from them. Sources are made readable to build users.
The repository's Makefiles remain the standalone fork's Makefiles. Copying files is not validation of a full OpenBSD src/xenocara release build, and installation prefixes/build integration still need native review.
Without options, the existing interactive bootstrap workflow checks out a
fresh tree and configures the host. Do not use that mode merely to copy
sources into an existing checkout. --no-provision keeps that workflow
but skips creating the user account and configuring doas:
doas ./fetch-src.ksh --no-provision