* Add the POSIX.1-2001 header file <cpio.h>
[dragonfly.git] / UPDATING
1 $DragonFly: src/UPDATING,v 1.6 2003/11/18 00:34:20 dillon Exp $
2
3 Updating Information for DragonFly users.
4
5 This file should warn you of any pitfalls which you might need to work around
6 when trying to update your DragonFly system.
7
8 If you discover any problem, please contact the bugs@lists.dragonflybsd.org
9 mailing list with the details.
10
11 ------------------------------------------------------------------------------
12
13 > Compiling DragonFly
14 ---------------------
15
16 Compiling DragonFly requires an ISO C90 or higher compliant compiler.
17 Compilers which support this are, amongst others: The GNU C Compiler, The
18 Intel C++ Compiler, and The TenDRA Compiler.
19
20 You can do DragonFly buildworld/buildkernel/installworld/installkernel
21 on FreeBSD-stable boxen as well as DragonFly boxen.
22
23 Due to source tree reorganizations at various times header files may have
24 moved or been deleted, leaving stale header files in /usr/include.  This
25 can also cause 'make depend' to fail due to make depend getting confused
26 about old header files.
27
28 The easiest way to deal with include file messes is to reinstall /usr/include
29 from scratch as follows:
30
31         rm -rf /usr/include     # safer to type this verses /usr/include/*
32         mkdir /usr/include
33         cd /usr/src
34         make installincludes
35
36 If your have trouble doing builds due to the make depend stage failing, the
37 easiest solution is to wipe your object tree and rebuild/reinstall.
38
39         rm -rf /usr/obj         # safer to type this verses /usr/obj/*
40         mkdir /usr/obj
41         cd /usr/src
42         make buildkernel KERNCONF=<KERNELNAME>
43         make installkernel
44         make buildworld
45         make installworld
46
47 If you are using 'config' manually, note that building kernels via the manual
48 config / /usr/src/sys/compile/BLAH procedure only works reliably on an
49 uptodate DragonFly box.  The official way to build kernels is via the
50 'make buildkernel KERNCONf=<KERNELNAME>' target from /usr/src.
51
52 > Kerberos IV
53 -------------
54
55 Kerberos IV (eBones) was removed from the tree, please consider moving to
56 Kerberos 5 (Heimdal).
57
58 > FreeBSD and DragonFly ports
59 -----------------------------
60
61 DragonFly will eventually have its own package management system but at the
62 moment we leverage off of the FreeBSD ports system.  You should maintain
63 /usr/ports from the FreeBSD cvs repository via cvsup just like you do now.
64
65 DragonFly has its own 'port overrides' hierarchy in /usr/dfports.  You can
66 check this out of the DragonFly cvs repository using:
67
68 cd /usr
69 cvs -R -d /cvs checkout dfports
70
71 You may wish to use a consolidated distfiles directory, in which case you
72 should make /usr/dfports/distfiles a softlink to your existing distfiles
73 directory (typically /usr/ports/distfiles).
74
75 Be sure that you have installed 'relpath' from the DragonFly sources
76 (/usr/src/usr.bin/relpath) as well as the updated /usr/share/mk files from
77 /usr/src/share/mk.  As a test you can cd into /usr/ports/sysutils/cpdup and
78 build the port.  Dragonfly should contain an override and you should see a
79 warning message that the DragonFly override is being build instead when you
80 build it from the FreeBSD ports.
81