Programmers' Canvas Toolkit Home

CVS Client Installation and
Programmers' Canvas Toolkit Client Installation

SourceForge.net Logo

06 Jan 2005 10:06

Open Source Development with CVS
rss
Donate
Main PCTK (Executables) Installer
DevGuy FileTools
CVS Software

Programmers' Canvas Toolkit

Support

Programmers' Toolkit Installation Guide

CVS Server Installation

CVSNT readme

Change History

Main PCTK (Executables) Installer
PCTK Web Application Installer

Environment Variables

CVS Access Via SSH on Windows

Using CVS on a Windows Client

 

License

All content located at http://devguy.com/fp/cfgmgmt and subdirectories thereof is (c) DevGuy.com, 1999-2003.

The software herein for which source code is available at http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dgpctk/ is (c) DevGuy.com and is licensed under the GNU Public License.  Executables for which there is no source code available are (c) their respective copyright holders.  All software is provided free of charge without any license fees or obligation, as long as this software is not included in commercial software or sold for a fee.

THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE DEVGUY PROGRAMMERS' TOOLKIT'S CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

The installation programs contained herein require Microsoft Installer 2.0.  The setup programs will install Microsoft Installer 2.0 if it is not present.  If Microsoft Installer 2.0 is not yet installed, Terminal Services must be in Remote administration mode rather than Application server mode.  Before installing anything it is advised that you create an Emergency Repair Disk.  Failure to heed all of this advice can result in a hosed machine that must be reformatted.  In no circumstances shall DevGuy be held liable for any damage to your machine made directly or indirectly by the installation programs.


Much More Free CVS Software Is Available

See the CVS Software page


Source Code

PCTK is hosted on SourceForge

The toolkit project is hosted on SourceForge.

Click here to view the CVS repository.

See here for CVS details.


Assistance / Support

Visit the bulletin boards for help.


CVS Commit (LogInfo), TagInfo, and Notify Scripts

LogInfo, TagInfo, and Notify Script Installation and Configuration


Additional Free Tools

Try the DevGuy FileTools


WinCVS / CVSGUI Help


TortoiseCVS Client Installation on Windows

TortoiseCVS is the easiest CVS client to install and use on any platform.


CVS  Client Installation on Windows

See also the WinCVS QuickStart Guide

1 If you want to use the command line on Windows:
2 [Optional] Install TortoiseCVS for an Explorer shell interface to CVS
3 [Optional] If you use Microsoft VC++, install CVSIn.  If you're not using CVSIn, you're missing out!
4

If the CVS server runs CVSNT or CVS 1.11.1 or later...

If you want to use reserved checkouts, the admin -l command (which is used by WinCVS's "lock" command) doesn't work.  Instead use the edit -c command.

  • edit -c prevents anyone else from performing edit -c on the same file
  • edit -c is un-done when the file is committed or unedited, or if somebody use edit without the -c option
  • use edit -f to force CVS to transfer the edit "lock".  This is handy when you have multiple machines, because unedit only works on the machine that edit -c was run from.
  • There is no -c switch for the unedit command (no unedit -c)
  • You must use commit -c in order to avoid committing a file that someone else has reserved for editing

To get WinCVS and other CVS GUIs to create reserved checkouts, or to avoid having to remember to use the -c flag on on the command line, create a file named .cvsrc file in your HOME directory (the HOME environment variable points to it) containing the following:

edit -c
commit -c

And then use 'Edit' instead of 'Lock.'  Note that sometimes you don't want "edit" to create a reserved checkout, so you might not want to alter your .cvsrc file.

5 See the instructions for supporting non-Windows clients when CVSNT is the server

Installing the DevGuy Programmers' Canvas Toolkit


PCTK Main (Executables) Installation for Windows

Visit the PCTK files repository

Please Note:

The installation programs contained herein require Microsoft Installer 2.0.  The setup programs will install Microsoft Installer 2.0 if it is not present.  If Microsoft Installer 2.0 is not yet installed, Terminal Services must be in Remote administration mode rather than Application server mode.  Before installing anything it is advised that you create an Emergency Repair Disk.  Failure to heed all of this advice can result in a hosed machine that must be reformatted.  In no circumstances shall DevGuy be held liable for any damage to your machine made directly or indirectly by the installation programs

You must be Administrator to install this software.

  • Install on:  Build (ACME), CVS (Tiger), and machines that need to build Java projects or utilize CVS helper scripts
  • These instructions are for Windows NT/2000/XP Server or Workstation
  • See the Source Code Installation if you wish to modify the software source or run on [UNI]+X
  • Before installing a new version of the toolkit, copy globals.xml to a safe place, run the installation program, and move the saved copy of globals.xml back to its original location.
  • Tip:  If you put globals.xml in a separate folder and point the devguy_globals environment variable to it, you won't have upgrade headaches with globals.xml later
  • diff/merge programs such as Araxis Merge can make merging globals.xml substantially easier
1 Download and extract PCTKEXE.TAR.GZ -- Run setup.exe
2 Change the system PATH to include the PCTK installation directory and reboot
3 Test your tools installation by running one of the following commands from the command line:
  • dgversion
4 Follow the post-installation instructions

PCTK Web Application Installation

Visit the PCTK files repository

Please Note:

The installation programs contained herein require Microsoft Installer 2.0.  The setup programs will install Microsoft Installer 2.0 if it is not present.  If Microsoft Installer 2.0 is not yet installed, Terminal Services must be in Remote administration mode rather than Application server mode.  Before installing anything it is advised that you create an Emergency Repair Disk.  Failure to heed all of this advice can result in a hosed machine that must be reformatted.  In no circumstances shall DevGuy be held liable for any damage to your machine made directly or indirectly by the installation programs

You must be Administrator to install this software.

  • This software requires Microsoft IIS
  • This configures IIS to display the build results.  Builds are packaged and archived on a web server.  Archived builds must be deleted by hand.  
  • Install on:  Build (ACME) machine.  Alternatively, you can install the web application on any IIS server as long as the build machine (ACME) has access to a share located at (for example) c:\inetpub\wwwroot\builds.
  • These instructions are for Windows Server (NT4/2000/XP)
  • Before installing a new version, copy c:\inetpub\wwwroot\builds\buildtypes.xml to a safe place, run the installation program, and copy the saved copy of buildtypes.xml back to c:\inetpub\wwwroot\builds\buildtypes.xml.
1 Download and extract PCTKWEB.TAR.GZ -- Run setup.exe

Alternatively, you can Download and extract ASP.TAR.GZ and copy the files manually onto your web server e.g., c:\inetpub\wwwroot\builds

2 Create subdirectories under c:\inetpub\wwwroot\builds {actual path depends on where you installed the web application} for different build types.  You can create as many as you like.  For example, you can have a directory for Debug builds and a directory for Release builds.
  • These directories will contain XML 'catalogs' of each build and will, by default, contain build artifacts (e.g., zip archives that contain EXEs and DLLs)
3 Alter the file c:\inetpub\wwwroot\builds\buildtypes.xml and list the subdirectories.  Here is a description of buildtypes.xml.
4 Configure the build options document accordingly (<WebAddress>, <WebSubdir>, <WebPath>)
5 It is possible to store the build artifacts (e.g., zip archives that contain EXEs and DLLs) on a separate machine from the web server where the ASP files are located, e.g., where there is more disk space.  To do this, it is recommended but not required that you use another web server to store these files.  A web server is not required because it is possible to link to shared folders (via the file:// protocol).  To store the files on a different machine, specify <PackageDestination> and <PackageURL> in the build options document.
6 http://webservername/builds should display the build types

PCTK Main (Perl Source) Installation

Visit the PCTK files repository

Instead of running setup programs, or if you would like to run the toolkit on UNIX, you can install the Perl scripts instead.  This allows you to customize the scripts as needed.

 
  • Consult the UNIX installation instructions
  • Before installing a new version of the toolkit, copy globals.xml to a safe place, extract files from the archive, and merge your changes back in, e.g., set your smtp server, email domain, and CVSWeb URL.  Nice diff/merge programs such as Araxis Merge can make merging globals.xml substantially easier.
  • Tip:  If you put globals.xml in a separate folder and point the devguy_globals environment variable to it, you won't have upgrade headaches with globals.xml later
1 Install ActivePerl (optional -- "vanilla" Perl is usually installed on UNIX already, and it works fine) Install build 631 or later.  Install the "Package Manager" (PPM) option.
2 Extract perl.tar.gz to a directory in your PATH
3 Extract perl_lib.tar.gz to a Perl library directory (e.g., c:\perl\lib or use perl -V to find it).  Use the directory names in the archive!
4 Win32 Only:  Extract win32.tar.gz to a directory in your PATH
5 Set the UsePerl element in globals.xml to 1. See the next section for information on globals.xml.
6 Install Perl modules.  Run the following from the command line.

Either ppm on Windows,
or perl -MCPAN -e"shell" on Linux,
followed by:

install Clone
install Authen::SASL
install XML::Simple
install POE::Component::IRC
install Data::Dumper
install newslib

7 Verify your installation by running:
  • perl -S dgversion.pl
8 Follow the post-installation instructions

PCTK Post-Installation Instructions

Perform these steps after installing PCTK Executables or Perl Source Code.

1 Modify your system PATH environment variable and append the PCTK program files folder e.g., c:\program files\devguy\pctk
2 Create a globals.xml file and point the registry or an environment variable to it
3 Set the environment variables
4 If you wish to use the packager's secure copy functionality, put pscp.exe in your system PATH
5 Extract examples.tar.gz into an empty directory.  Note that these files are automatically included in the Windows Installer file (pctkexe.msi) in the subdirectory "examples" in the PCTK program files folder.
6 CVS (Tiger) machine only:

Configure the LogInfo and NotifyInfo scripts

If you wish to use the Build Robot, create or update the initial CVS directory structure.  This directory structure includes a build module which is needed for building Java projects via makefiles.  The directory structure is described in more detail here.

  1. These instructions assume you already have CVS installed
  2. Make sure you have created a CVS repository via the cvs init command
  3. Extract clean.tar.gz into an empty directory.  Note that these files are automatically included in the Windows Installer file (pctkexe.msi) in the subdirectory "clean" in the PCTK program files folder.
  4. The files you extracted represent a sample directory structure.  You are free to change the structure however you like.
  5. Click here to view the directory tree
  6. Read the development environment documentation
  7. Use WinCVS to import the directory used in the above step to the CVS module named "." (without the quotes) or use "cvs import" taking special care with any binary files that may be in the directory
  8. Check-out the module you just imported
  9. Modify source/c/constants.h - change the company name, copyright year, and product version name.
  10. Modify source/java/dgBuildStatsConstants.java - change the product version name.  Only do this if your java code will refer to this string.

Downloads for Programmers' Canvas Toolkit


Environment Variables

Environment variables should be set on Windows via the control panel/system/advanced. [] around the name means the variable is optional.

PATH The PCTK program files folder (c:\program files\devguy\pctk) should be in the system PATH.
[DEVGUY_GLOBALS] Points to the globals.xml configuration file
[DEVGUY_USEPERL] When set to 1, the toolkit (and FileTools) will invoke scripts using Perl rather than the executables.
[CVSROOT] For cvsnt, :pserver:domain\username@tiger:c:\cvs or :sspi:tiger:c:\cvs; for [UNI]+X, :pserver:username@tiger:/cvs  Not needed if you plan to use WinCVS exclusively as a client instead of cvs.exe
[HOME] This is for CVS.  On Win32 clients, this is usually
c:\Documents and Settings\UserName
Not needed if you plan to use WinCVS exclusively as a client instead of cvs.exe
[TEMP] Points to a folder that holds temporary files.  On the CVS server, this must be a SYSTEM environment variable.  Only needed by CVS server.
[TMP] Same as TEMP environment variable.  Only needed by CVS server.


The remaining variables are only needed to build Java code and Java documentation with the makefiles.  Read the development environment documentation for more information.

ROOTDIR The full path of your sandbox.  Use forward slashes, not backslashes, should not end with a slash.

The build robot sets this environment variable to the value specified in <Sandbox/> in the build options document.

CLASSPATH This should be set to:

%JAVABASEDIR%/lib/classes.zip;
%ROOTDIR%/output/java;
%ROOTDIR%/output/java/all.jar;
%ROOTDIR%/output/java/thirdparty.jar

You may append other zip/jar/directories as needed.  Note that the code in the /output/java directory overrides the code in the 'all.jar' file.  The 'all.jar' file contains all of the .class files under /output/java and is built via 'make jar'.  The purpose of the all.jar file is to make it easy to export a single Jar file from the build robot for testing.

JAVADOCDIR The full path where javadoc output should be sent.
[JAVA_HOME] This is a "standard" environment variable that points to the JDK SDK installation folder. This is used if the variable JAVABASEDIR is not defined.  If the variable JAVABASEDIR is not defined, make sure JAVA_HOME contains forward slases, not backslashes.  Should not end with a slash.
[JAVABASEDIR] The full path of the JDK directory.  If not specified, uses JAVA_HOMEUse forward slashes, not backslashes.  Should not end with a slash.
[JAVA2BASEDIR] If JAVABASEDIR points to JDK 1.1, you just also install JDK 1.2 or later in order to create javadocs and jar files.  Set this environment variable to the path of the JDK 1.2 or later directory.  Use forward slashes, not backslashes.  Should not end with a slash.
[DEVGUY_BUILDDIR]
  • This is the name of the module which contains postdefs.makefile and predefs.makefile
  • It defaults to build
  • Example: widget/build
  • The build robot sets this environment variable if you specify a <BuildModule/> in the build options document.
[DEVGUY_OUTPUTDIR] This is a relative path to the sandbox which contains Java build artifacts.  "/java" is appended to the value when compiling Java code, making thirdparty.jar, and making all.jar.
[ORACLE_HOME] This should contain a directory which contains a directory called "bin" which contains a file called sqlj.exe - in other words, $(ORACLE_HOME)/bin/sqlj.exe should exist