| 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 | |