Update the X11 path for the default login.conf.
[dragonfly.git] / UPDATING
index 41e6a45..088ee10 100644 (file)
--- a/UPDATING
+++ b/UPDATING
@@ -1,4 +1,4 @@
-$DragonFly: src/UPDATING,v 1.13 2005/05/27 10:01:24 swildner Exp $
+$DragonFly: src/UPDATING,v 1.20 2006/07/02 08:13:07 swildner Exp $
 
 Updating Information for DragonFly users.
 
@@ -10,6 +10,19 @@ mailing list with the details.
 
 ------------------------------------------------------------------------------
 
+> Updating from pre-1.2 systems or FreeBSD 4.x to DragonFly 1.3+ (either
+  PREVIEW or HEAD)
+---------------------
+
+The compatiblity shims for the build environment have been removed, you
+have to update to DragonFly 1.2 release branch first.
+
+The default PAM configuration has moved from /etc/pam.conf to /etc/pam.d/.
+The existing configuration can be converted using /etc/pam.d/convert.sh.
+Entries in /etc/pam.d/ override entries in /etc/pam.conf. In addition
+the pam_skey.so module was retired, you have to remove it manually from
+your configuration, when you convert it.
+
 > Required user and group IDs when upgrading from either FreeBSD or DragonFly
 ---------------------
 
@@ -47,8 +60,7 @@ object hierarchy is necessary.
        # FreeBSD src first) (500MB)
        cd /usr
        rm -rf src
-       cvs -R -d /home/dcvs checkout src
-       cvs -R -d /home/dcvs checkout dfports
+       cvs -R -d /home/dcvs checkout -P src
 
        # build it (500MB used in /usr/obj)
        #
@@ -69,17 +81,24 @@ the build steps above.
        make installkernel KERNCONF=<KERNELNAME>
        make installworld
 
-Then you need to upgrade your /etc.  DragonFly's 'make upgrade' target 
+Then you need to upgrade your system.  DragonFly's 'make upgrade' target 
 will unconditionally upgrade the /etc files that sysops do not usually
-mess around with, such as the files in /etc/rc.d.  If you are unsure we 
-recommend that you make a backup of your /etc before applying this step.
-Note that DragonFly's RC system is basically RCNG from FreeBSD-5, but
-there are some differences in the contents of the RC files.
+mess around with, such as the files in /etc/rc.d.  It will also remove any
+obsolete files such as utilities and manpages that have been removed from
+the system since the version you're coming from.  If you are unsure we 
+recommend that you make a backup of at least your /etc before applying
+this step.  Note that DragonFly's RC system is basically RCNG from
+FreeBSD-5, but there are some differences in the contents of the RC files.
 
        make upgrade
 
+NOTE! Never do a 'make upgrade' before 'make installworld' has been run.
+Doing so might leave your system in an unusable state.
+
 Finally we recommend that you do an 'ls -lta BLAH' for /bin, /sbin, /usr/bin,
-/usr/bin, and /usr/lib, and remove any stale files that you find.
+/usr/bin, and /usr/lib, and remove any stale files that you find.  Please
+report these files to the DragonFly developers so that they can be added to
+the 'upgrade' target.
 
 ------------------------------------------------------------------------------
 
@@ -87,12 +106,12 @@ Finally we recommend that you do an 'ls -lta BLAH' for /bin, /sbin, /usr/bin,
 ---------------------
 
 The best way to upgrade DragonFly is to maintain a copy of the DragonFly
-CVS repository via cvsup and to checkout the source base and DragonFly
-ports via this repository.   The repository is stored in /home/dcvs by
-default and requires about 500MB of disk space.  The checked out source
-tree (/usr/src) requires about 500MB of disk space, and the build will
-eat around 500MB of space out of /usr/obj.  To maintain the build you 
-should reserve at least 2GB of disk space, and 3GB if you have the space.
+CVS repository via cvsup and to checkout the source base via this repository.
+The repository is stored in /home/dcvs by default and requires about 800MB
+of disk space.  The checked out source tree (/usr/src) requires about 400MB
+of disk space, and the build will eat around 800MB of space out of /usr/obj.
+To maintain the build you should reserve at least 2.5GB of disk space, and
+3.5GB if you have the space.
 
 Note: most people run cvsup via a root cron job to keep the repository up to
 date.  Please limit such automatic updates to once a day and try to randomize
@@ -103,7 +122,6 @@ the hour and minute in the cron job a bit to avoid pileups.
        # install the source from the CVS hierarchy
        cd /usr
        cvs -R -d /home/dcvs checkout -P src
-       cvs -R -d /home/dcvs checkout -P dfports
 
 Once you have the repository and broken out sources you can decide whether to
 update your sources from the repository automatically or manually.  Since
@@ -121,14 +139,17 @@ To upgrade a DragonFly system from sources you run the following sequence:
        make installkernel KERNCONF=<KERNELNAME>
        make installworld
 
-You will also want to run the 'upgrade' target to upgrade your /etc.  The
-upgrade target is aware of stale files created by older DragonFly 
-installations and should delete them automatically.
+You will also want to run the 'upgrade' target to upgrade your /etc and the
+rest of your system.  The upgrade target is aware of stale files created by
+older DragonFly installations and should delete them automatically.
 
        make upgrade
 
+NOTE! Never do a 'make upgrade' before 'make installworld' has been run.
+Doing so might leave your system in an unusable state.
+
 If you are using 'config' manually from /usr/src/sys/i386/conf/BLAH, note 
-that the build will use the current DragonFly environment rather then
+that the build will use the current DragonFly environment rather than
 the post-build environment from the last buildworld.   For this reason manual
 configs are discouraged.  The proper way to build a kernel is to use the
 'buildkernel' or 'quickkernel' target in /usr/src.
@@ -145,23 +166,26 @@ and buildkernel as shown above, before asking for help.
 Kerberos IV (eBones) was removed from the tree, please consider moving to
 Kerberos 5 (Heimdal).
 
-> FreeBSD and DragonFly ports
------------------------------
+> Package Management System
+---------------------------
+
+Starting with the 1.4 release, DragonFly uses NetBSD's pkgsrc package
+management system.  The necessary tools to build and maintain packages
+are provided in /usr/pkg/bin and /usr/pkg/sbin.  Make sure that these
+directories are in your PATH variable.
+
+In order to obtain a reasonably current snapshot of the pkgsrc tree, use
+the tarball from NetBSD:
 
-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.
+       fetch -o /tmp/pkgsrc.tar.gz ftp://ftp.NetBSD.org/pub/NetBSD/packages/pkgsrc.tar.gz
+       cd /usr; tar -xzf /tmp/pkgsrc.tar.gz; chown -R root:wheel pkgsrc
 
-DragonFly has its own 'port overrides' hierarchy in /usr/dfports.  You can
-check this out of the DragonFly cvs repository using:
+This tree can then be kept up to date with cvs update:
 
-cd /usr
-cvs -R -d /home/dcvs checkout -P dfports
+       cd /usr/pkgsrc; cvs up
 
-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.
+NOTE! If you upgraded from a pre-1.4 system to 1.4 or later, you need to
+build and install the pkgsrc bootstrap manually:
 
+       cd /usr/pkgsrc/bootstrap
+       ./bootstrap --pkgdbdir /var/db/pkg --prefix /usr/pkg