The Canonical J Repository Places
The canonical J Repository PlacesThe 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
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.
PreparationIf your shell is sh, bash, or ksh:
$ export CVSROOT=:pserver:firstname.lastname@example.org:/usr/local/cvs $ cvs login
If your shell is csh, tcsh, or zsh:
% setenv CVSROOT :pserver:email@example.com:/usr/local/cvs % cvs login
You'll be prompted for a password. For the
anoncvsaccount, 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/jfor 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
-z 9requests 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
jsubdirectory 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/jto reflect the proper
That is all for the standard library.
Installing the "contrib" softwareThe standard location for the repository "contrib" software is subdirectory
contribin your standard J script directory. That is,
contribwill be a direct neighbor of
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!