How to upgrade an Owl system via CVS

Warning: for most users, this procedure is not recommended. The one we do recommend is described on the upgrade page.

Warning: retrieving the Owl native tree via CVS (from the anoncvs server) is less secure than downloading native.tar.gz and verifying its integrity via Owl.mtree and Owl.mtree.sign files (you do need to verify both the tarball's message digest and the Owl.mtree file's signature!) This is because anoncvs itself is a security risk to the Openwall systems infrastructure, and hence it runs off a copy of the CVS tree on a machine that is not used for actual Owl development.

Become the build user:

su - build

Setup your CVS environment:

export CVS_RSH=ssh CVSROOT=anoncvs@anoncvs.owl.openwall.com:/cvs

You can save that line into ~build/.profile to save you having to type it manually. Also, see Owl/doc/DOWNLOAD for alternative ways to access the anoncvs repository, and for how to enable compression.

Check out the Owl native sources from CVS for the first time (still under the build user and in its home directory):

mkdir native
cd native
cvs co -P Owl

The SSH login password is anoncvs.

You then need to correctly set up the Makefile symlink in the home directory of the build user:

cd # back to the home directory
ln -s native/Owl/build/Makefile Makefile

Finally, download the sources (actually, third-party tarballs that our native tree includes patches to) by following the procedure described on our upgrade page.

Once the above is complete, you should be simply able to run a make buildworld in the directory to build the new packages.

If upgrading from a pre-OpenSSL-1.0 version of Owl, you might need to upgrade the OpenSSL libraries manually before a full make buildworld compilation. This can be achieved by running a primary make buildworld, and then manually upgrading the libs. After the build, become root again:

root@dev:/ # rpm -Uvh --replacepkgs --oldpackage --nodeps /usr/src/world/RPMS/openssl-*

Several applications which rely on the installed version of OpenSSL will immediately break however. It is imperative that once the above command has been run, that all packages are rebuilt. Again, become the build user:

su - build

and then run the following:

make clean
make buildworld

For the installworld step below to upgrade your current system, edit the ROOT=/owl line in installworld.conf to read ROOT=/.

Finally, become root again, change to the /usr/src/world directory, and run a make installworld root@dev:/usr/src/world # make installworld

This should leave you with an up to date system.