★ wanayoo — archive 1999 http://jpython.org/cvs.htmlNouvelle recherche | Portail wanayoo
  
Home www.python.org
Download Documentation
Getting JPython
Home
License
Download
Installing
JVM Compatibility
 
Resources
Applet Demos
Mailing List
Bugs
JPython Users
 
Other links
Generating patches
Compiling from source
 
Exits
Cyclic.com
CPython via CVS
ORO, Inc.
 
Email Us
jpython@python.org
 
  

JPython Source Access Via CVS

In the spirit of Python's open source code, we are making JPython's source code available in a similar manner. This will aid both the JPython developer community and the JPython maintainers by allowing those with the particular interest to view the very latest version of the source.

Important: In order to get access to the JPython source code, you will need to read and agree to JPython's licensing terms. You may want to stop now and read these terms.

This page briefly describes the JPython public CVS tree, what is available, and how to do checkouts of the code. You can also get notified of new checkins via email. If you plan on generating patches to JPython, we highly encourage you to grab the CVS snapshot and generate patches against it. It is possible that your problem has already been fixed, and if not, it makes our job of integrating your changes much easier if your patches apply to the current source snapshot.

You should probably also read the section of the documentation on Compiling JPython from source.

What is available?

Most of the JPython distribution is available, however some essential pieces that come with the installer distribution are missing. Most notable are the OROMatcher regular expression library, and the installer generated files. We are prohibited from distributing the OROMatcher classes separately, although you can download them for use with JPython from ORO, Inc.'s own Website. The JPython installer also generates some files when it runs, and these are not kept under CVS control. See the instructions below on running JPython from the CVS tree.

All of our changes to the internal source tree are immediately reflected in the read-only CVS mirror. This means that if you want to stay on the bleeding edge of JPython development, you can easily do so by checking out the source tree, and updating as changes are checked in. If you are more inclined to wait until stable versions are officially released, then wait for announcements on the appropriate mailing lists, newsgroups, and Web sites.


What is CVS?

`CVS' stands for the Concurrent Version System, a free version control system that I use to manage changes in the development tree of the JPython source code. CVS clients are freely available for Unix, Windows, and MacOS so any developer who wants to have access to the JPython source tree should be able to do so. For more information on obtaining a CVS client for your system, see the Cyclic Web pages. Note that you will want to use CVS 1.9 or better.

Checking out the JPython source

The first thing you need to do is log into the remote CVS server. You do this by executing the following command (assuming Unix1):
CVSROOT=":pserver:jpythoncvs@cvs.python.org:/projects/cvsroot"
export CVSROOT
% cvs login

This will prompt you for a password; read these instructions on getting the password.

Once you've logged in, you can do your initial checkout:

% cvs -z6 co -d jpython jpython/dist

Once you've done the intial checkout, you can stay current by cd'ing into the jpython subdirectory and typing:

% cvs -z6 -q up -P -d

where -q says to be quiet, -z6 says to use level 6 compression (a good tradeoff between improved network performance and CPU usage), -P says to prune empty directories (good for ignoring obsolete directories), and -d says to check out newly added directories.

Note that after the initial checkout, you do not need to specify the CVS repository to use or to set the CVSROOT environment variable. CVS remembers this automatically.

Getting notification of changes

When Barry or any other member of the development team, makes changes to the internal source tree, two things happen immediately. First, the change is copied out to the public read-only mirror on cvs.python.org. This means that you always have access to exactly the same tree that we have in front of us. Second, the log message for the change is sent to a mailing list that you can subscribe to. Note that it is a read-only list; you cannot post messages, so use normal channels for communicating back to Barry and the development team.

Also note that this mailing list is not archived, since all the information is available already through the CVS log commands.

Other distribution mechanisms

Currently anonymous CVS is the only access method available, however many people (especially those outside the USA) have indicated that remote CVS is pretty inefficient. As time allows, we'll investigate making other options for accessing the source tree available. Watch here for further instructions.

Running JPython from the CVS tree

Once you've done the checkout as described above, you need to do a little extra work in order to get JPython running. Essentially you need to manually do what the installer ordinarily generates a script to do. Here's a sample Bourne shell script which I use to start up JPython on my Solaris box, using the Sun production 1.2 JVM. You will probably need to change the projroot variable and oro variables, and possibly others. Sorry I can't help much for running JPython from CVS under Windows. If you have a sample script you'd like to donate for these pages, let me know.

Note that I have set JAVA_COMPILER=NONE in the script. In my experience, Sun's JIT-enabled JVMs have too many bugs to make them work reliably for JPython, so I just turn 'em off unconditionally.


1The environment variable command shown here is valid for the Bourne or Bash shells (sh or bash). For csh derivatives use:

setenv CVSROOT ":pserver:jpythoncvs@cvs.python.org:/projects/cvsroot"