Source Code Access via CVS

Introduction

This page describes how to access the ]project-open[ source code repository and how to update your ]project-open[ installations manually.

The ]project-open[  source code is maintained using a CVS  version control system. The current CVS repository is located at:

  • Server: cvs.project-open.net
    The server names "berlin.dnaslias.com"  and "berlin.project-open.net" are deprecated and may soon disappear.
  • Directory: /home/cvsroot
  • Username/password: anonymous/ (user anonymous with empty password)

A sample CVS command for an update operation is:

cvs -d :pserver:anonymous@cvs.project-open.net:/home/cvsroot update

Installing CVS on Linux and Windows

CVS (http://www.nongnu.org/cvs/)  is the version control system used to keep the ]project-open[ product code. You need to install a CVS client on your computer in order to access the ]project-open[ cvs server:

  • Linux:
    CVS is available with all major Linux distributions. Please enter "cvs" in a Linux terminal to check whether CVS is already installed.
    To install CVS you can enter "yum install cvs" (CentOS and Red Hat Linux) or "apt-get install cvs" (Debian and Ubuntu).

  • Windows:
    Please open a CygWIN Shell to perform steps as shown below. It has been installed on your system and is available from the WINDOWS start menu.
    If you feel more comfortable with a GUI, check Tortoise CVS (http://www.tortoisecvs.org/) as CVS client. It is proven and free.

Source Code and CVS Control

The source code of your ]project-open[ installation is located at:

  • Windows:
    C:\project-open\servers\projop\packages or
  • Linux:
    /web/projop/packages

Below the /packages/ folder you should find some 200 folders which correspond to ]project-open[ list of packages.

In order to work with CVS, your source code needs to include "CVS" folders in every package. Depending on your installer, these "CVS" folder may be available or not.

To check for CVS folders, please go to any package (for example: /packages/acs-admin/) folder and list the available sub-directories. You should see something like this:

  • acs-admin.info
  • catalog
  • CVS
  • lib
  • tcl
  • www

Please check if the "CVS" folder is present in your installation.

Change CVS User

In case you need to change the pre-configured CVS user of your System, please proceed as follow:

Step 1: Change CVS environment variable
As user 'projop' edit the .batch_profile / .profile entries
Change entry:

export CVSROOT=":pserver:anonymous@cvs.project-open.net:/home/cvsroot"

to:

export CVSROOT=":pserver:NEW_CVS_USER@cvs.project-open.net:/home/cvsroot"

whereas 'NEW_CVS_USER' is the CVS user account you have been provided with.


Step 2:
Change CVSROOT entries of packages
As user 'projop' cd into the packages folder and use sed:

cd /web/projop/packages
find . -name Root -exec sed -i '1s/.*/:pserver:NEW_CVS_USER@cvs.project-open.net:\/home\/cvsroot/' {} \;


Step 3:
Close the session and open a new session so that changes made in ~/.profile / ~/.bash_profile take effect.
As user 'projop' log into CVS using the password you have been provided with:

cvs login

If the system does not complain after the new PW has been entered the login was successful. 

Downloading the latest released ]project-open[ code 

The ]po[ from time to time releases "Upgrade Installers" on www.SourceForge.net.  

Pleas go to http://www.sourceforge.net/projects/project-open/files/  and download the upgrade installer "project-open-Update-X.Y.Z.V.W.tgz" of the latest version.

Please move your /packages/ somewhere and unpack the project-open-Update-X.Y.Z.V.W.tgz file:

  • Linux:
    # cd /web/projop/
    # tar xzf project-open-Update-X.Y.Z.V,W.tgz

  • Windows:
    You can use 7-Zip (http://www.7-zip.org/) to unpack the ".tgz" file.
    (There will be a warning during the extraction process, which you can ignore.)

Retrieving a single Package via CVS

To retrieve a single package via CVS you need to know the package's name:

Linux: 

# su - projop
# cd /web/projop/packages/
# cvs checkout [PACKAGE_NAME]

On Windows you can perform the same steps using the CygWin command line.

Retrieving/Updating a single file of a package already checked out


Linux: 

# su - projop
# cd [PATH-TO-FILE]
# cvs update -dPA [FILE]

Example:
# su - projop
# cd ~/packages/intranet-reporting/www/
# cvs update -dPA timesheet-customer-project-xml-xslt.tcl

Retrieving the /packages/ folder via CVS

You can retrieve the /packages/ folder directly via CVS:

# su - projop
# cd /web/projop/
# mv packages packages.old
# mkdir packages
# cd packages
# export CVSROOT=:pserver:anonymous@cvs.project-open.net:/home/cvsroot
# cvs checkout intranet-core
# cp intranet-core/all-checkout.sh .
# bash all-checkout.sh

On Windows you can perform the same steps using the CygWin command line.

Updating to the Latest Version ("HEAD")

Open a console and login as 'root'. Afterwards perform the following steps
# su - projop
# cd /web/projop/packages/
# cvs update -PdA

You will also have to upgrade your system after an update of your source code in the /packages/ folder.

]project-open[ Versions Overview

Please see the list of versions for details about released versions.

The "HEAD" version of ]project-open[ is in general relatively stable, and several users have reported to upgrade their system regularly to HEAD.

However, generally users should stay with stable versions released on SourceForge either as installers or as "Upgrades".

 

CVS Packages on the ]po[ CVS Server

The ]project-open[ product consists of some 200 packages which include both free and commercial packages (please see licenses and www.project-open.com -> Shop for details). Also, some of the packages are:

  • obsolete,
  • unstable or
  • not yet prepared for a general audience,

so they are not included in the normal product releases. Please treat these packages carefully and never try them on a production server. Please use a development server instead.


Troubleshooting CVS Issues

In case cvs updates do not perform as expected please check the following: 

1) Check availability of CVS server:

ping cvs.project-open.net
In case responses do time out please check your DNS server entries in /etc/resolv.conf

2) Check /etc/hosts

Some older ]po[ VM's have an entry to a local IP for cvs.project-open.net Please delete this entry.

3) Check if you can connect to the cvs server:

su - projop
cvs login
usually results in
Logging in to :pserver:anonymous@cvs.project-open.net:2401/home/cvsroot
CVS password:
This prompt is send from the local cvs tool. Just hit ENTER for 'no password' and you should be able to execute cvs commands. Check this by doing the following:
cd /web/projop/packages/intranet-core/
cvs status intranet-core.info
The result should be something like:
===================================================================
File: intranet-core.info        Status: Needs Patch

   Working revision:    1.104
   Repository revision: 1.108   /home/cvsroot/intranet-core/intranet-core.info,v
   Sticky Tag:          (none)
   Sticky Date:         (none)
   Sticky Options:      (none)

4) CVS server busy?

In case everything worked fine, a cvs update might time out due to to maxim number of allowed to connections. Please try to run the update at a later point in time again.

5) Environment Variables not set 

Linux: Getting the following error? 

cvs update: No CVSROOT specified! Please use the `-d' option
cvs [update aborted]: or set the CVSROOT environment variable."

Execute:  

export CVSROOT=":pserver:anonymous@cvs.project-open.net:/home/cvsroot"
export CVSREAD="yes"
export CVS_RSH="ssh"

and login:   
cvs login

When asked for a password simply hit ENTER.

You want to add the above mentioned export ... lines to your ~/.profile file. 

Access and Permissions

Most of the packages above are accessible for the CVS user "anonymous" with an empty password.

However, access to some packages (the ones listed as closed-source in www.project-open.com  -> Shop) is restricted to privileged  users. Please contact us if you are interested in some of these packages:

  • intranet-audit
  • intranet-cost-audit
  • intranet-freelance
  • intranet-freelance-invoices
  • intranet-freelance-rfqs
  • intranet-otp
  • intranet-planning
  • intranet-reporting-cubes
  • intranet-reporting-dashboard
  • intranet-reporting-finance
  • intranet-reporting-translation
  • intranet-trans-quality
  • intranet-ubl

  Contact Us
  Project Open Business Solutions S.L.

Calle Aprestadora 19, 12o-2a

08902 Hospitalet de Llobregat (Barcelona)

Spain

 Tel Europe: +34 609 953 751
 Tel US: +1 415 200 2465
 Mail: info@project-open.com