The Website
Preparation
Get 200MB free disk space. You will need the disk space for the
SGML tools, a subset of the CVS tree, temporary build space and the
installed web pages. If you already have installed the SGML tools and
the CVS tree, you need only ~100MB free disk space.
Make sure your documentation ports are up to date! When in
doubt, remove the old ports using &man.pkg.delete.1; command before
installing the port. For example, we currently depend on
jade-1.2 and if you have installed jade-1.1, please do
&prompt.root; pkg_delete jade-1.1
Setup a CVS repository. You need the directories www, doc and
ports in the CVS tree (plus the CVSROOT of course). Please read the
CVSup introduction
http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/synching.html#CVSUP how to
mirror a CVS tree or parts of a CVS tree.
The essential cvsup collections are: www,
doc-all, cvs-base, and
ports-base.
These collections require ~100MB free disk space.
A full CVS tree - including src,
doc, www, and
ports - is currently 650MB large.
Build the web pages from scratch
Go to into a build directory with at least 60MB of free
space.
&prompt.root; mkdir /var/tmp/webbuild
&prompt.root; cd /var/tmp/webbuild
Checkout the SGML files from the CVS tree.
&prompt.root; cvs -R co www doc
Change into the www directory, and
run the &man.make.1; links target, to
create the necessary symbolic links.
&prompt.root; cd www
&prompt.root; make links
Change into the en directory, and run
the &man.make.1; all target, to create
the web pages.
&prompt.root; cd en
&prompt.root; make all
Install the web pages into your web server
If you have moved out of the en
directory, change back to it.
&prompt.root; cd path/www/en
Run the &man.make.1; install target,
setting the DESTDIR variable to the name of the
directory you want to install the files to.
&prompt.root; make DESTDIR=/usr/local/www install
If you have previously installed the web pages into the same
directory the install process will not have deleted any old or
outdated pages. For example, if you build and install a new copy
of the site every day, this command will find and delete all
files that have not been updated in three days.
&prompt.root; find /usr/local/www -ctime 3 -print0 | xargs -0 rm
Environment variables
CVSROOT
Location of the CVS tree. Essential.
&prompt.root; CVSROOT=/home/ncvs; export CVSROOT
ENGLISH_ONLY
If set and not empty, the makefiles will build and
install only the English documents. All translations will be
ignored. E.g.:
&prompt.root; make ENGLISH_ONLY=YES all install
If you want unset the variable
ENGLISH_ONLY and build all pages, including
translations, set the variable ENGLISH_ONLY
to an empty value
&prompt.root; make ENGLISH_ONLY="" all install clean
WEB_ONLY
If set and not empty, the makefiles will build and install
only the HTML pages from the www directory. All documents from
the doc directory (Handbook, FAQ, Tutorials) will be ignored.
E.g.:
&prompt.root; make WEB_ONLY=YES all install
NOPORTSCVS
If set, the makefiles will not checkout files from the ports
cvs repository. Instead, it will copy the files from
/usr/ports (or where the variable
PORTSBASE points to).
CVSROOT is an environment variable. You must set it
on the command line or in your dot files (~/.profile).
WEB_ONLY, ENGLISH_ONLY and
NOPORTSCVS are makefile variables. You can set the
variables in /etc/make.conf,
Makefile.inc or as environment variables on the
command line or in your dot files.