This shows you the differences between two versions of the page.
Owl:cvs [2011/04/24 17:03] solar moved simonb's added content from the "upgrade" page with no changes |
Owl:cvs [2011/04/24 17:26] (current) solar assorted corrections |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== Upgrade via CVS ===== | + | ====== How to upgrade an Owl system via CVS ====== |
- | Warning: This information may, and probably will become rapidly out of date. | + | Warning: for most users, **this procedure is not recommended**. The one we do recommend is described on the [[upgrade|upgrade]] page. |
- | Become the 'build' user: | + | 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 | su - build | ||
- | Set your CVS environment: | + | Setup your CVS environment: |
export CVS_RSH=ssh CVSROOT=anoncvs@anoncvs.owl.openwall.com:/cvs | export CVS_RSH=ssh CVSROOT=anoncvs@anoncvs.owl.openwall.com:/cvs | ||
- | (You can save that line into ~build/.profile to save you having to set it manually | + | You can save that line into ''~build/.profile'' to save you having to type it manually. Also, see [[http://www.openwall.com/Owl/DOWNLOAD.shtml|Owl/doc/DOWNLOAD]] for alternative ways to access the anoncvs repository, and for how to enable compression. |
- | Download the sources from CVS for the first time: | + | Check out the Owl native sources from CVS for the first time (still under the ''build'' user and in its home directory): |
- | mkdir -p ~build/native && cd native && cvs co -P Owl | + | mkdir native |
- | cd native | + | cd native |
- | cvs co -P Owl | + | cvs co -P Owl |
- | You then need to correctly set up several symlinks in the home directory of the build user: | + | The SSH login password is ''anoncvs''. |
- | cd ~build/ | + | |
+ | 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 | ln -s native/Owl/build/Makefile Makefile | ||
- | make symlinks | ||
- | Finally, check out the sources. | + | Finally, download the ''sources'' (actually, third-party tarballs that our ''native'' tree includes patches to) by following the procedure described on our [[upgrade|upgrade]] page. |
- | mkdir sources | + | |
- | cd source | + | |
- | lftp ftp://ftp.fr.openwall.com/pub/Owl/current/sources/Owl/packages/ | + | |
- | + | ||
- | Then, from within lftp: | + | |
- | mirror -e -L . | + | |
- | This should download the sources. Once thats complete, you should be simply able to run a 'make buildworld' in the directory to build the new packages. | + | Once the above is complete, you should be simply able to run a ''make buildworld'' in the directory to build the new packages. |
- | + | ||
- | As of 12/04/11, you will need to upgrade the OpenSSL libraries manually before a full makeworld compilation. This can be achieved by running a primary 'make buildworld', and then manually upgrading the libs. After the build, become root again: | + | |
+ | 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-* | 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: | + | 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 | su - build | ||
Line 44: | Line 40: | ||
make buildworld | make buildworld | ||
- | Finally, become root again, change to the /usr/src/world directory, and run a 'make installworld' | + | For the ''installworld'' step below to upgrade your current system, edit the ''ROOT=/owl'' line in ''installworld.conf'' to read ''ROOT=/''. |
- | root@dev:/usr/src/world # make instalworld | + | |
+ | 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. | This should leave you with an up to date system. |