Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] View of /pages/trunk/DEV/sf-howto.html
ViewVC logotype

View of /pages/trunk/DEV/sf-howto.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1315 - (download) (as text) (annotate)
Fri Mar 21 04:58:58 2003 UTC (18 years, 4 months ago) by macqueen
File size: 6381 byte(s)
updating SF info
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
  <head>
    <title>SML/NJ Project Howto</title>
  </head>

  <body BGCOLOR="ffffff">
    <h1>SML/NJ Project Howto</h1>

This is a collection of hints and pointers to help new users of 
SourceForge and CVS to use the facilities of the SML/NJ project.
For general information on using SourceForge, see the
<a href="http://sourceforge.net/docman/?group_id=1">
SourceForge Documentation Manager</a> and the 
"Getting Started with SourcForge" link on that page under the
heading "General Documentation".
<p>
Note: <em>loginname</em> stands for the SourceForge user login name.
<p>
<h3> Project directory </h3>
The SML/NJ project directory path is:
<pre>
   /home/groups/s/sm/smlnj/
</pre>
This directory contains subdirectories <code>htdocs</code> and <code>cgi-bin</code>.
<p>

<h3>Logging in to your sourceforge user account</h3>
<pre>
   ssh -l loginname shell.sourceforge.net
</pre>
Your home directory will look something like: <code>/home/users/m/ma/macqueen</code>.
<p>
You can abbreviate the command to (e.g.)
<pre>
   ssh sf-shell
</pre>
by defining sf-shell as a host alias in your .ssh/config file:
<pre>
    Host = sf-shell
    HostName = shell.sourceforge.net
    User = loginname
</pre>
<p>
<h3>Moving files to sourceforge</h3>
SourceForge does not support ftp. You can copy files (localfile) to
SourceForge using scp.  For instance, you can copy file localfile to
your sourceforge home directory by executing a command like:
<pre>
   scp localfile macqueen@smlnj.sourceforge.net:/home/users/m/ma/macqueen
</pre>
or simply
<pre>
   scp localfile sf-shell:
</pre>
if you have defined host sf-shell in your ssh config file as
illustrated above.  Similarly, to copy a file or files to the
top-level directory of the www.smlnj.org web site, you could execute
the command:
<pre>
   scp localfile sf-shell:/home/groups/s/sm/smlnj/htdocs
</pre>


<h3>Setting up CVS access</h3>
<ol>
<li> In your user Account Maintenance page, go to "Shell Account Information"
     and click [Edit Keys] next to "CVS/SSH Shared Keys".  Insert contents
     of ~/.ssh/identity.pub file on your local machine into the text box.
     Make sure that when you cut and paste your key that it remains a single 
     line of text!  Sometimes spurious line breaks are added when your
     key is printed, and these will prevent CVS from working.  You can verify
     that it worked by checking the contents of the .ssh/authorized_keys
     file in your SourceForge home directory.
<p>
<li> Set CVS_RSH:
<pre>
     export CVS_RSH=ssh
</pre>
<p>
<li> Run ssh-agent and ssh-add for convenience, to avoid having to repeatedly
type in your ssh passphrase or SourceForge password:
<pre>
     eval `ssh-agent`
     ssh-add -p &lt;&lt;EOF
     your pass phrase
     EOF
</pre>
These last three commands can be, and probably should be, added to your 
.profile or .login file.  "your pass phrase" refers to the pass phrase
that you gave when you created your ssh identity files with ssh-keygen.
Note that some versions of ssh do not support the -p flag, in which case
you will have to run ssh-add interactively and type in your pass phrase.
Unfortunately, the version of ssh available on the SourceForge shell servers
is one of these, so ssh-add has to be run manually after login.
<p>
<li> Create a host entry for cvs.sourceforge.net in your ssh config file (.ssh/config)
like the following (replacing loginname with your SF user name, as usual):
<pre>
    Host = sf-smlnj
    HostName = cvs.sourceforge.net
    User = loginname
</pre>
This defines a standard alias for the cvs host that agrees with that used
the CVS/Root files (in htdocs, for instance).
<p>
<li> Set CVSROOT:
<pre>
     export CVSROOT=sf-smlnj:/cvsroot/smlnj
</pre>
Note the use of the alias "sf-smlnj" defined in the config file from the
previous item.
<p>
<li> Now you can execute cvs commands without needing -d arguments, passwords,
or pass phrases, e.g.: 
<pre>
     cvs update bugs
</pre>
</ol>
In order to execute cvs commands on the SourceForge shell server, you
should run ssh-keygen from your SF account to generate a new ssh key, and
then add that key to the end of your .ssh/authorized_keys file.  You can
also define CVS_RSH and run ssh-agent in your .profile at
SourceForge to make things simpler.

<h3> Updating web pages </h3>
The htdocs directory in the smlnj project home directory (/home/groups/s/sm/smlnj/htdocs)
contains the web pages for the project.  These web pages can be accessed using
either of the following URLs:
<blockquote>
<a href="http://www.smlnj.org">http://www.smlnj.org</a><br>
<a href="http://smlnj.sourceforge.net">http://smlnj.sourceforge.net/index.html</a>
</blockquote>
The htdocs directory is a CVS working directory created by checking out
the htdocs module from the project CVS repository.  The Bell Labs copy
(in /home/sml/Doc/WWW/smlnj) is also checked-out from the repository ("htdocs"
and "smlnj" are both aliases of the pages module in the repository).  If you
have extensive edits to perform on the web pages, we recommend that you check
out your own private working copy, make the edits, test them, and
commit the changes.
After the changes are commited, "cvs update" must be performed in
the two directories
<blockquote>
/home/groups/s/sm/smlnj/htdocs  (at SF)<br>
/stage/w3serv/smlnj.cs.uchicago.edu  (at U of C)
</blockquote>
to synchronize them with the changed repository. You can do the
update on the htdocs directory yourself as described in the next
paragraph, but you may need to send mail to Bell Labs to have the
update done on that copy until we set up automatic email notifications
of commits to the web pages repository.
<p>
To actually update the pages at SF, you login to your SF account
and do (e.g.)
<pre>
   cd /home/groups/s/sm/smlnj/htdocs
   ... set up cvs ...
   export CVSROOT=sf-smlnj:/cvsroot/smlnj
   cvs update htdocs
</pre>
The definition of host sf-smlnj for your SF shell account should look
like this:
<pre>
   Host = sf-smlnj
   Hostname = cvs1
   User = username
</pre>
Note the Hostname definition; "cvs1" is the local name for the cvs
server at SF.

<p>
    <hr>
    <address><a href="mailto:macqueen@users.sourceforge.net">Dave MacQueen</a></address>
<!-- Created: Fri Feb 16 12:36:42 EST 2001 -->
<!-- hhmts start -->
Last modified: Thu Mar 20 22:57:22 CST 2003
<!-- hhmts end -->
  </body>
</html>

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0