Juggle Home - Bits'n'Pieces - Feature Hitlist - Problem Reports - Mailing lists - The J Repository - References +-------------------+ | 9!:12'' | |5 | +-------------------+

The Canonical J Repository Places

The canonical J Repository Places

The standard install targets for the J CVS repository components are:
for the standard J script library,
for additional contributed software in the repository.

On a Windows system where J is installed to, say, C:\J404, the contributed software would go to C:\J404\contrib.

The idea of the repository layout is just an extension of what ISI releases in their standard kits. Instead of two, you get three parallel hierarchies: system, user, and contrib. These distinct namespaces are subject to different authorities:

JSoftware's control

your control / your site

third party public code (neither JSoftware nor your code)

This chapter describes how to "download" the repository code in the easiest way possible to a Unix system.


If your shell is sh, bash, or ksh: $ export CVSROOT=:pserver:anoncvs@juggle.gaertner.de:/usr/local/cvs $ cvs login

If your shell is csh, tcsh, or zsh:

% setenv CVSROOT :pserver:anoncvs@juggle.gaertner.de:/usr/local/cvs % cvs login

You'll be prompted for a password. For the anoncvs account, the password is cvs. Verify that you can connect to the server and retrieve some info:

% cvs co -c j-contrib -d contrib j/contrib j-contrib-m -d contrib j/contrib portable mac j-contrib-u -d contrib j/contrib portable unix j-contrib-w -d contrib j/contrib portable windows j-demo -d poetry j/demo j-lib -d j j/isi/lib j-unix-lib -d j j/isi/lib ...

The J Standard Script Library for Unix

Note: this is for unix systems only. The Windows and Mac versions of the J standard library are only dirstributed with the J development system. Proceed directly to the next section to read how to download the contrib software.

The standard J library path is now /usr/local/lib/j for any Unix release of J.

In the unlikely case that you already have this directory populated, rename it first. You don't want to lose your license key, do you?

I'm saying "unlikely case" beause J Releases up to J4.02 used to be installed into a directory such as /usr/local/lib/j-402, so no renaming is necessary for those.

Later releases should already be prepared as repository clones. You can recognize them be finding an additional CVS directory in each library subdirectory. No initial "checkout" is necessary in this case. You can directly move on to the next step, "checking out the contrib scripts". When you are prepared for the new standard library get it as follows:

% cd /usr/local/lib % cvs -z 9 checkout j-unix-lib

The -z 9 requests a compressed transfer of the material. In normal cvs use, you don't need to bother with compression. After all, J scripts are not that big and look like line-noise, anyway ;-)

This will create the j subdirectory and everything beneath it.

Copy your license key into the J directory.

If you are running J Release 4.02 or earlier, you should now edit /usr/local/bin/j to reflect the proper $JLIB default setting.

That is all for the standard library.

Installing the "contrib" software

The standard location for the repository "contrib" software is subdirectory contrib in your standard J script directory. That is, contrib will be a direct neighbor of user.

This holds for all systems, even Windows and Mac, and whether you fetched the standard lib from the CVS repository or not. The "contrib" directory in turn contains a common "portable" subdirectory and specific "unix", "mac", and "windows" subdirectories for platform-specific files. You can choose which subset you want by checking out a "module name" specifying a file set.

To download the contrib software:

% cd /usr/local/lib/j (or wherever your J lib directory is). % cvs -z 9 co j-contrib (contrib for all platforms, or alternatively just:) % cvs -z 9 co j-contrib-u (contrib with "unix" and "portable" components, but not "windows" or "mac")

Voila - that's all!

+-------------------+ | 9!:12'' | |5 | +-------------------+ Juggle Home - Bits'n'Pieces - Feature Hitlist - Problem Reports - Mailing lists - The J Repository - References