When a new branch is created, some work needs to be done to specify that the previous branch is no longer equivalent to HEAD. The following instructions apply to the previous branch number:
(new codebase) Edit /var/portbuild/conf/server.conf with the following changes:
Add new-branch to SRC_BRANCHES.
For what was previously head, change SRC_BRANCH_branch_TAG to RELENG_branch_0.
Add SRC_BRANCH_new-branch_TAG =..
(new codebase) Run /var/portbuild/updatesnap manually.
(Only for old codebase) Create a new zfs filesystem for sources:
zfs create a/snap/src-branch
(Only necessary for old codebase): Checkout a src tree in the new filesystem:
cvs -Rq -d /r/ncvs co -d src-branch-r RELENG_branch
(Only necessary for old codebase): Edit the master copy of Tools/portbuild/portbuild.conf.
(Only necessary for old codebase): For each arch, edit its copy of the above in /var/portbuild/arch/portbuild.conf.
(Only necessary for old codebase): Edit /var/portbuild/scripts/buildenv.
(Only necessary for old codebase): Add a link from /var/portbuild/scripts/dopackages to /var/portbuild/scripts/dopackages.branch.
(Only necessary for old codebase): Modify HEAD_BRANCH and NON_HEAD_BRANCHES in /var/portbuild/scripts/updatesnap.
(Only necessary for old codebase): Add the snap directory to /var/portbuild/scripts/zexpire.
(Only necessary for old codebase): In the /var/portbuild/errorlogs/ directory, create links for the webserver:
ln -s ../arch/branch/builds/latest/bak/errors arch-branch-full ln -s ../arch/branch/builds/latest/bak/logs arch-branch-full-logs ln -s ../arch/branch/builds/latest/errors arch-branch-latest ln -s ../arch/branch/builds/latest/logs arch-branch-latest-logs ln -s ../arch/branch/builds/latest/bak/packages arch-branch-packages-full ln -s ../arch/branch/builds/latest/packages arch-branch-packages-latest
Kick-start the build for the branch with
build create arch branch