The Canonical J Repository Places The canonical J Repository Places
The standard install targets for the J CVS repository components are:
/usr/local/lib/j
- for the standard J script library,
/usr/local/lib/j/contrib
- for additional contributed software in the repository.
On a Windows system where J is installed to, say,
C:\J404
, the contributed software would go toC:\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:
- system:
- JSoftware's control
- user:
- your control / your site
- contrib:
- 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.
Preparation
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 iscvs
. 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 subdirectorycontrib
in your standard J script directory. That is,contrib
will be a direct neighbor ofuser
.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!