cAos Community Wiki Please log in to access full functionality  
Menu
  Wiki
  FAQs
Search
in:

CVS Access

CVS Access

Packages for cAos Linux are maintained inside a CVS repository using Mezzanine. Each part of the OS (core, extended OS, and user sandboxes) has its own tree, all of which is stored under one big parent to be accessed either individually or all at once. The entire repository is approximately 3GB in size and growing, so be aware of the disk requirements when deciding how much of the tree to download.

Users wishing to tweak package configurations and build customized versions of cAos packages should follow the instructions for Anonymous CVS Access below. If you would like to help out directly by contributing packages, patches, and/or other software or documentation to the cAos project, please follow the instructions under Developer CVS Access instead. We exist solely based on the efforts of the community, so your help and contributions (whether monetary, packaging, or otherwise) are greatly appreciated!

Anonymous CVS Access

Note, we suggest using Mezzanine when accessing the cAos cvs repository.

For cAos2 packages

   $ mkdir ~/caos2
   $ cd ~/caos2
   $ mzlogin -lD :pserver:[email protected]:/var/cvs
   $ mzget -D :pserver:[email protected]:/var/cvs caos

then to build a particular package do:

   $ cd <package dir that you want to build>
   $ mzbuild

or using the caos2 buildroot (run as root, because ‘chroot’ is needed, but it will drop privs to nobody):

   # mzbuild -r /path/to/buildroot-2 -u nobody

You can then just re-update the repository using ‘mzget’ from the root of the directory that you wish to update.

You can also build all of the packages using ‘buildtool’ from the ~/caos2/core/ directory.

Developer CVS Access

The first step is to create a SSH key pair to connect to the cAos CVS server, as only SSH key authentication is allowed:

$ ssh-keygen -t dsa -b 2048 -f ~/.ssh/caos-cvs-dsa-2048

Use a "good" (cryptographically) password at the prompts and it will produce the private and public key files:

/home/username/.ssh/caos-cvs-dsa-2048
/home/username/.ssh/caos-cvs-dsa-2048.pub

Add the keys to your SSH client configuration file (the first line creates one if it does not already exist):

$ if [ ! -f ~/.ssh/config ]; then touch ~/.ssh/config ; chmod 600 ~/.ssh/config ; fi
$ echo "Host cvs.caosity.org" >> ~/.ssh/config
$ echo "IdentityFile ~/.ssh/caos-cvs-dsa-2048" >> ~/.ssh/config

And now you can ask for CVS access from KainX on #caos and email your preferred username (from 1 to 8 character in length) and public SSH key (the one with the ".pub" file extension) to him. Keep the private key secret and safe.

Now prepare an area to check out files from the cAos CVS repository. The partition the check out directory is on should have a good amount of room to allow for future expansion. If you don’t have a place already, and your "/home/" partition has lots of room, type:

$ mkdir ~/cvs-checkout
$ cd ~/cvs-checkout

When you have received the green light for the CVS access, put this line in your "~/.bashrc" file (or the "rc’ file specific to your shell):

export CVS_RSH=ssh

assuming "ssh" is in your PATH. Otherwise you can use the full path to "ssh" instead. Execute that command at the command prompt, along with a temporary setting for CVSROOT (in case you use other CVS repositories):

$ export CVS_RSH=ssh
$ export CVSROOT=:ext:[email protected]:/cvs

where "username" is the preferred username you supplied to KainX.

You are now ready to check out files from the cAos CVS repository. Get ready to type in the password you used to encrypt the SSH key you will use for this repository, because it can ask for it more than once per CVS command:

$ mzget caos

another possibility is to avoid setting the CVSROOT environment variable and doing this "mzget" command instead"

$ mzget -D :ext:[email protected]:/cvs caos

Either way, a bunch of CVS checkout messages should be rolling up the console.

You should now have a "caos" directory, corresponding to the "caos" module name in the "mzget" command line, in the "~/cvs-checkout/" directory. When executing "mz*" commands immediately within this "caos" directory, you will be interacting with the "caos" module from the "cvs.caosity.org/cvs" repository as "username". This information is stored in the "CVS" subdirectories in the "caos" directory tree.

Created by: datadevil last modification: Monday, October 09, 2006 [01:59:26 UTC] by mej

Wiki
*}
[ Execution time: 0.30 secs ]   [ Memory usage: 7.58MB ]   [ 46 database queries used ]   [ GZIP Enabled ]   [ Server load: 0.61 ]