Annotation of doc/build/cvsupgrade.html, revision 1.2
1.1 harris41 1: <html>
2: <head>
3: <title>LON-CAPA CVS Upgrade</title>
4: </head>
5: <body>
6: <h1>LON-CAPA CVS Upgrade</h1>
7: <h3>Current CVS Upgrade Procedure</h3>
8: <p>
9: Scott Harrison
10: </p>
11: <p>
12: Last updated: 4/18/2001
13: </p>
14: <ul>
15: <li><a href="#fileupgrade">CVS Upgrade</a></li>
16: <li><a href="#rpm">RPM Upgrade</a></li>
17: <li><a href="#status">Viewing the status of your machine</a></li>
18: <li><a href="#setting">Setting yourself up for CVS</a></li>
19: </ul>
20: <a name="fileupgrade">
21: <h3>CVS Upgrade</h3>
22: <p>
23: If you have not yet set yourself up for LON-CAPA CVS, please see the
24: section <a href="#setting">"Setting yourself up for LON-CAPA CVS"</a>.
25: </p>
26: <p>
27: Before you do a file upgrade, you can always enter a "make statuspost"
28: command to see what will be changing on your system. See the section
29: <a href="#status">Viewing the status of your machine</a>.
30: </p>
31: <p>
32: Assuming that you have set yourself up for LON-CAPA CVS, periodically
33: upgrading your system is a simple process.
34: </p>
35: <table border>
36: <tr><td><b>Steps</b></td><td><b>Commands</b></td></tr>
37: <tr><td>Make sure you are logged in for CVS</td>
38: <td>export CVSROOT=:pserver:USERNAME@zaphod.lite.msu.edu:/home/cvs
39: <br />cvs login</td></tr>
40: <tr><td>Go to your repository directory</td><td>cd loncapa</td></tr>
41: <tr><td>Update your CVS sources</td><td>cvs update -d</td></tr>
42: <tr><td>Go to the build directory</td><td>cd loncom/build</td></tr>
43: <tr><td>Become 'root'</td><td>su</td></tr>
44: <tr><td>Install/update static files</td><td>make install</td></tr>
45: <tr><td>Install/update dynamically configurable files<br />
46: <i>this preserves the current settings of your machine, don't worry :)</i>
47: </td>
48: <td>make configinstall</td></tr>
49: <tr><td>Restart your web server<br />Due to an apache bug, you should
50: enter this command twice. Restarting the web server will
51: <ul>
52: <li>introduce changes made to /home/httpd/lib/perl/Apache/*.pm files;</li>
53: <li>update user and group permissions if /etc/passwd or /etc/group change.</li>
54: </ul>
55: </td>
56: <td>/etc/rc.d/init.d/httpd restart
57: <br />/etc/rc.d/init.d/httpd restart</td></tr>
58: <tr><td>Restart the lonc/lond processes<br />Be patient (this takes several minutes).</td>
59: <td>/etc/rc.d/init.d/loncontrol restart</td></tr>
60: <tr><td colspan=2>After CVS logging in, you can always cut and paste this line
61: below assuming you do everything as root :)<br />
62: <tt>cd loncapa; cvs update -d; cd loncom/build; make install; make configinstall; /etc/rc.d/init.d/httpd restart; /etc/rc.d/init.d/httpd restart; /etc/rc.d/init.d/httpd restart; /etc/rc.d/init.d/loncontrol restart</tt></td></tr>
63: </table>
64: <p>
65: It may be also advisable to test your system after an upgrade if there are
66: critical tasks it is being used for.
67: </p>
1.2 ! harris41 68: <p>
! 69: The specification file which defines the CVS:source-to-system information is
! 70: CVS:doc/loncapafiles/loncapafiles.html. Changes to this file directly
! 71: translate into changes in the installation.
! 72: </p>
1.1 harris41 73: <a name="rpm">
74: <h3>RPM Upgrade</h3>
75: <p>
1.2 ! harris41 76: BE CAREFUL. READ THIS STUFF.
1.1 harris41 77: </p>
1.2 ! harris41 78: <p>WARNINGS:
1.1 harris41 79: <ul>
1.2 ! harris41 80: <li>Do not ever install or upgrade an LON-CAPA-base RPM. You will
! 81: lose important configuration information on your machine. The CVS upgrade
! 82: is much safer and more effective in bringing you up to date.</li>
! 83: <li>Do not ever install or upgrade a LON-CAPA-setup RPM. You will lose
! 84: information from your /etc/group, /etc/passwd, and other important files.</li>
! 85: <li>Be careful about installing a LON-CAPA-mysql RPM. You need to run
! 86: /home/httpd/perl/searchcat.pl after this to re-seed your metadata database.
! 87: <li>Don't upgrade/install/delete your kernel RPM unless you have done
! 88: it before.
! 89: </li>
1.1 harris41 90: </ul>
1.2 ! harris41 91: <p>
! 92: There are four things involved in an RPM upgrade:
! 93: </p>
! 94: <ol>
! 95: <li>Gaining information about the RPMs on your system.</li>
! 96: <li>Upgrade existing RPMS from a trusted source</li>
! 97: <li>Remove RPMs which do not belong</li>
! 98: <li>Add new RPMs</li>
! 99: </ol>
! 100: <p>
! 101: <b>Gaining information about the RPMs on your system:</b>
! 102: "make rpmstatuspost"
! 103: (see <a href="#status">Viewing the status of your machine</a>)
! 104: will tell you about RPMs which do not belong (are "external"
! 105: to LON-CAPA). It will also tell you if you have "out-of-date"
! 106: RPMs which should maybe be upgraded. Important specification
! 107: files for RPM installation are CVS:doc/otherfiles/rpm_list.txt
! 108: and CVS:doc/otherfiles/cd_rpms.txt.
! 109: </p>
! 110: <p>
! 111: <b>Upgrade existing RPMS from a trusted source:</b>
! 112: RPMs are currently available at
! 113: <blockquote>
! 114: http://install.lon-capa.org/3.1/currentcdsource/RedHat/RPMS
! 115: </blockquote>
! 116: For example, to upgrade your LON-CAPA-systemperl RPM, you
! 117: would enter commands like
! 118: <blockquote>
! 119: wget http://install.lon-capa.org/3.1/currentcdsource/RedHat/RPMS/LON-CAPA-systemperl-3.1-1.i386.rpm<br />
! 120: (then as root) rpm -Uvh --force LON-CAPA-systemperl-3.1-1.i386.rpm
! 121: </blockquote>
! 122: </p>
! 123: <p>
! 124: <b>Remove RPMs which do not belong:</b>
! 125: If an RPM should NOT be on your system (like apmd), then you want
! 126: to remove this RPM. Since RedHat is a little erroneous when
! 127: it comes to dependencies, you may wish to use the --nodeps flag.
! 128: <blockquote>
! 129: rpm -e --nodeps apmd-3.0final-2.i386.rpm
! 130: </blockquote>
! 131: </p>
! 132: <p>
! 133: <b>Add new RPMs:</b>
! 134: Use the same command as for upgrading.
! 135: <blockquote>
! 136: (as root) rpm -Uvh --force icewm-1.0.5-gnome.i386.rpm
! 137: </blockquote>
! 138: We often use icewm as our development machine window manager given the
! 139: RedHat 6.2 bugs involving enlightenment and gnome.
! 140: </p>
1.1 harris41 141: <a name="status">
142: <h3>Viewing the status of your machine</h3>
143: <p>
144: </p>
1.2 ! harris41 145: <table border>
! 146: <tr><td><b>Steps</b></td><td><b>Commands</b></td></tr>
! 147: <tr><td>Make sure you are logged in for CVS</td>
! 148: <td>export CVSROOT=:pserver:USERNAME@zaphod.lite.msu.edu:/home/cvs
! 149: <br />cvs login</td></tr>
! 150: <tr><td>Go to your repository directory</td><td>cd loncapa</td></tr>
! 151: <tr><td>Update your CVS sources</td><td>cvs update -d</td></tr>
! 152: <tr><td>Go to the build directory</td><td>cd loncom/build</td></tr>
! 153: <tr><td>Become 'root'</td><td>su</td></tr>
! 154: <tr><td>View the CVS source->install status of your machine</td><td>make statuspost
! 155: <br /> then visit http://MACHINENAME/lon-status/filestatus.html</td></tr>
! 156: </td></tr>
! 157: <tr><td>View the RPM status of your machine
! 158: </td>
! 159: <td>make rpmstatuspost<br />
! 160: then visit http://MACHINENAME/lon-status/rpmstatus.html</td>
! 161: </table>
1.1 harris41 162: <a name="setting">
163: <h3>Setting yourself up for CVS</h3>
164: <p>
1.2 ! harris41 165: These instructions assume bash (as opposed to tcsh).
! 166: </p>
! 167: <p>
! 168: The straightforward way to enable CVS is to manually configure your
! 169: environment and log in:
! 170: <blockquote>
! 171: export CVSROOT=:pserver:USERNAME@zaphod.lite.msu.edu:/home/cvs
! 172: <br />
! 173: cvs login
! 174: </blockquote>
1.1 harris41 175: </p>
1.2 ! harris41 176: <p>
! 177: You can also modify your shell environment (.bash_profile and .bash_logout).
! 178: <blockquote>
! 179: The commands:<br />
! 180: <b>export CVSROOT=:pserver:USERNAME@zaphod.lite.msu.edu:/home/cvs</b>
! 181: <br />
! 182: <b>cvs login</b>
! 183: <br />
! 184: can be appended to ~/.bash_profile.
! 185: <br />
! 186: "<b>cvs logout</b>" can be appended to ~/.bash_logout
! 187: </blockquote>
! 188: </p>
! 189: <p>
! 190: To check out LON-CAPA, go to any writeable directory and type:
! 191: <blockquote>cvs co loncapa</blockquote>
! 192: </p>
! 193: <p>
! 194: This will create a directory tree similar to:
! 195: <pre>
! 196: loncapa_________CAPA
! 197: |
! 198: |_____loncom
! 199: |
! 200: |_____doc
! 201: |
! 202: |_____rat
! 203: |
! 204: \_____packaging
! 205: </pre>
! 206: </p>
! 207: <p>
! 208: Useful commands are:
! 209: </p>
! 210: <table border=1>
! 211: <tr><td>Command</td></td><td>Description</td></tr>
! 212: <tr><td>info cvs</td></td><td>doc's</td></tr>
! 213: <tr><td>cvs log FILENAME</td></td><td>see what's happened with a file</td></tr>
! 214: <tr><td>cvs update -d</td></td><td>update your CVS tree from the current directory location</td></tr>
! 215: </table>
1.1 harris41 216: </body>
217: </html>
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>