File:  [DragonFly] / src / UPDATING
Revision 1.6: download - view: text, annotated - select for diffs
Tue Nov 18 00:34:20 2003 UTC (11 years, 8 months ago) by dillon
Branches: MAIN
CVS tags: HEAD
clarify the solution for typical build snafus in UPDATING.

$DragonFly: src/UPDATING,v 1.6 2003/11/18 00:34:20 dillon Exp $

Updating Information for DragonFly users.

This file should warn you of any pitfalls which you might need to work around
when trying to update your DragonFly system.

If you discover any problem, please contact the
mailing list with the details.


> Compiling DragonFly

Compiling DragonFly requires an ISO C90 or higher compliant compiler.
Compilers which support this are, amongst others: The GNU C Compiler, The
Intel C++ Compiler, and The TenDRA Compiler.

You can do DragonFly buildworld/buildkernel/installworld/installkernel
on FreeBSD-stable boxen as well as DragonFly boxen.

Due to source tree reorganizations at various times header files may have
moved or been deleted, leaving stale header files in /usr/include.  This
can also cause 'make depend' to fail due to make depend getting confused
about old header files.

The easiest way to deal with include file messes is to reinstall /usr/include
from scratch as follows:

	rm -rf /usr/include	# safer to type this verses /usr/include/*
	mkdir /usr/include
	cd /usr/src
	make installincludes

If your have trouble doing builds due to the make depend stage failing, the
easiest solution is to wipe your object tree and rebuild/reinstall.

	rm -rf /usr/obj		# safer to type this verses /usr/obj/*
	mkdir /usr/obj
	cd /usr/src
	make buildkernel KERNCONF=<KERNELNAME>
	make installkernel
	make buildworld
	make installworld

If you are using 'config' manually, note that building kernels via the manual
config / /usr/src/sys/compile/BLAH procedure only works reliably on an
uptodate DragonFly box.  The official way to build kernels is via the
'make buildkernel KERNCONf=<KERNELNAME>' target from /usr/src.

> Kerberos IV

Kerberos IV (eBones) was removed from the tree, please consider moving to
Kerberos 5 (Heimdal).

> FreeBSD and DragonFly ports

DragonFly will eventually have its own package management system but at the
moment we leverage off of the FreeBSD ports system.  You should maintain
/usr/ports from the FreeBSD cvs repository via cvsup just like you do now.

DragonFly has its own 'port overrides' hierarchy in /usr/dfports.  You can
check this out of the DragonFly cvs repository using:

cd /usr
cvs -R -d /cvs checkout dfports

You may wish to use a consolidated distfiles directory, in which case you
should make /usr/dfports/distfiles a softlink to your existing distfiles
directory (typically /usr/ports/distfiles).

Be sure that you have installed 'relpath' from the DragonFly sources
(/usr/src/usr.bin/relpath) as well as the updated /usr/share/mk files from
/usr/src/share/mk.  As a test you can cd into /usr/ports/sysutils/cpdup and
build the port.  Dragonfly should contain an override and you should see a
warning message that the DragonFly override is being build instead when you
build it from the FreeBSD ports.