version 1.2, 2001/01/17 11:06:03
|
version 1.9, 2001/01/17 12:00:49
|
Line 24
|
Line 24
|
<A NAME="Using_CVS"> |
<A NAME="Using_CVS"> |
<LI><H2>Using CVS</H2> |
<LI><H2>Using CVS</H2> |
<UL> |
<UL> |
<UL> |
|
<LI><A NAME="cvslog"> |
<LI><A NAME="cvslog"> |
<H3>Using CVS: Logging in and out (cvs login; cvs logout)</H3> |
<H3>Using CVS: Logging in and out (cvs login; cvs logout)</H3> |
<LI><A NAME="cvsget"> |
<LI><A NAME="cvsget"> |
<H3>Using CVS: Getting files (cvs update -d)</H3> |
<H3>Using CVS: Getting files (cvs update -d)</H3> |
<LI><A NAME="cvsupdate"> |
<LI><A NAME="cvsupdate"> |
<H3>Updating files (cvs update -d)</H3> |
<H3>Using CVS: Updating files (cvs update -d)</H3> |
<LI><A NAME="cvssave"> |
<LI><A NAME="cvssave"> |
<H3>Saving files (cvs commit)</H3> |
<H3>Using CVS: Saving files (cvs commit)</H3> |
<LI><A NAME="cvsadd"> |
<LI><A NAME="cvsadd"> |
<H3>Adding files (cvs add)</H3> |
<H3>Using CVS: Adding files (cvs add)</H3> |
<LI><A NAME="cvsadddir"> |
<LI><A NAME="cvsadddir"> |
<H3>Adding directories (cvs add/import)</H3> |
<H3>Using CVS: Adding directories (cvs add/import)</H3> |
<LI><A NAME="cvsnotsure"> |
<LI><A NAME="cvsnotsure"> |
<H3>What to do when you're not sure about your files (cvs update)</H3> |
<H3>Using CVS: What to do when you're not sure about your files (cvs update)</H3> |
</UL> |
</UL> |
<LI><A NAME="makeHTML"> |
<LI><A NAME="makeHTML"> |
<H3>Viewing the software (make HTML)</H3> |
<H2>Viewing the software (make HTML)</H2> |
|
<STRONG>Commands</STRONG> |
|
<FONT COLOR="#008800"> |
|
<PRE> |
|
cd loncom/build |
|
rm -Rf HTML <I>(or alternatively, "make clean")</I> |
|
make HTML |
|
cd HTML |
|
<I>(look at the index.html file with a web browser such as Netscape)</I> |
|
</PRE> |
|
</FONT> |
|
<STRONG>General description of what happens</STRONG> |
|
<P> |
|
This is the actual make target code. |
|
<FONT COLOR="#880000"> |
|
<PRE> |
|
<!-- LONCAPA MAKETARGET=HTML START --> |
|
HTML: |
|
install -d HTML |
|
cp ../../doc/loncapafiles/*.gif HTML |
|
perl parse.pl ../../doc/loncapafiles/loncapafiles.html HTML > HTML/index.html |
|
<!-- LONCAPA MAKETARGET=HTML END --> |
|
</PRE> |
|
</FONT> |
|
What basically happens is that specially marked-up data in the LON-CAPA |
|
cvs repository file <TT>doc/loncapafiles.html</TT> is parsed into a more |
|
viewable format by <TT>loncom/build/parse.pl</TT>. The resulting |
|
file gives a very well organized view of all the files, directories, |
|
links, ownerships, permissions, and brief documentation of what each |
|
file does. |
|
</P> |
<LI><A NAME="makebuild"> |
<LI><A NAME="makebuild"> |
<H3>Compiling the software (make build)</H3> |
<H2>Compiling the software (make build)</H2> |
|
<STRONG>Commands</STRONG> |
|
<FONT COLOR="#008800"> |
|
<PRE> |
|
cd loncom/build |
|
make build |
|
</PRE> |
|
</FONT> |
|
<STRONG>General description of what happens</STRONG> |
|
<P> |
|
This is the actual make target code. |
|
<FONT COLOR="#880000"> |
|
<PRE> |
|
<!-- LONCAPA MAKETARGET=HTML START --> |
|
build: |
|
perl parse.pl ../../doc/loncapafiles/loncapafiles.html build > Makefile.build |
|
make -f Makefile.build all |
|
<!-- LONCAPA MAKETARGET=HTML END --> |
|
</PRE> |
|
</FONT> |
|
<TT>loncom/build/parse.pl</TT> reads in all the build information out |
|
of <TT>doc/loncapafiles/loncapafiles.html. A new Makefile named |
|
<TT>loncom/build/Makefile.build</TT> is dynamically constructed. |
|
This dynamically generated Makefile is then run to build/compile |
|
all the software targets from source. This currently takes 10 minutes |
|
(depends on the speed of the machine you compile with). |
|
</P> |
|
<STRONG>Example</STRONG> |
|
<P> |
|
Here is information for one file <TT>tth.so</TT> provided in |
|
<TT>doc/loncapafiles/loncapafiles.html</TT>. |
|
<FONT COLOR="#330066"> |
|
<PRE> |
|
<BR><METAGROUP> |
|
<BR><LONCAPA TYPE=LOCATION DIST="redhat6.2" SOURCE="loncom/modules/TexConvert/tthperl/tth.so" TARGET="usr/lib/perl5/site_perl/5.005/tth.so" CATEGORY="system file"> |
|
<BR><DESCRIPTION> |
|
<BR>shared library file for dynamic loading and unloading of TeX-to-HTML functionality |
|
<BR></DESCRIPTION> |
|
<BR><BUILD> |
|
<BR>loncom/modules/TexConvert/tthperl/commands |
|
<BR></BUILD> |
|
<BR><DEPENDENCIES> |
|
<BR>../tthdynamic/tthfunc.c |
|
<BR>../ttmdynamic/ttmfunc.c |
|
<BR></DEPENDENCIES> |
|
</PRE> |
|
</FONT> |
|
<TT>loncom/build/parse.pl</TT> sees the <B>BUILD</B> tags and sets up |
|
a dynamic file <TT>Makefile.build</TT> to run the command inside the |
|
<B>BUILD</B> tags (currently, <B>DEPENDENCIES</B> is not used for anything |
|
besides documentation). |
|
</P> |
|
<P> |
|
Here is an example of a dynamically generated <TT>Makefile.build</TT> |
|
that builds two LON-CAPA files (one of which is <TT>tth.so</TT>. |
|
<FONT COLOR="#330066"> |
|
<PRE> |
|
all: ../homework/caparesponse/capa.so ../modules/TexConvert/tthperl/tth.so |
|
|
|
../homework/caparesponse/capa.so: ../homework/caparesponse/caparesponse.c ../ho |
|
mework/caparesponse/caparesponse.pm alwaysrun |
|
cd ../homework/caparesponse/; sh ./commands |
|
|
|
../modules/TexConvert/tthperl/tth.so: ../modules/TexConvert/tthperl/../tthdynam |
|
ic/tthfunc.c ../modules/TexConvert/tthperl/../ttmdynamic/ttmfunc.c |
|
cd ../modules/TexConvert/tthperl/; sh ./commands |
|
|
|
alwaysrun: |
|
</PRE> |
|
</FONT> |
|
</P> |
<LI><A NAME="loncapafiles"> |
<LI><A NAME="loncapafiles"> |
<H3>Adding/removing files from the LON-CAPA installation (doc/loncapafiles/loncapafiles.html)</H3> |
<H2>Adding/removing files from the LON-CAPA installation (doc/loncapafiles/loncapafiles.html)</H2> |
<LI><A NAME="configversusnonconfig"> |
<LI><A NAME="configversusnonconfig"> |
<H3>Configurable files versus non-configurable files</H3> |
<H2>Configurable files versus non-configurable files</H2> |
<LI><A NAME="makeinstall"> |
<LI><A NAME="makeinstall"> |
<H3>Updating the non-configurable files on your machine (make install)</H3> |
<H2>Updating the non-configurable files on your machine (make install)</H2> |
<LI><A NAME="makeconfiginstall"> |
<LI><A NAME="makeconfiginstall"> |
<H3>Updating the configurable files on your machine (make configinstall)</H3> |
<H2>Updating the configurable files on your machine (make configinstall)</H2> |
<LI><A NAME="makeRPM"> |
<LI><A NAME="makeRPM"> |
<H3>Building RPMs (make RPM)</H3> |
<H2>Building RPMs (make RPM)</H2> |
</OL> |
</OL> |