NOTE - All new installations should be using https://github.com/GsDevKit/GsDevKit_home
The Development Kit for GemStone/S (GsDevKit) contains tools and compatiblity changes that sit on top of the GemStone/S 64 Bit product, providing a complete and powerful open-source development environment. The Development kit allows Pharo and Squeak developers to take advantage of GemStone's object persistence, along with a variety of open-source Smalltalk tools and frameworks.
The Development kit includes simplified processes for installating and managing the GemStone/S server.
Detailed instructions for configuring your OS and installing GemStone/S, GsDevKit, and starting tODE:
Additional supporting documentation:
- Getting Started with tODE.
- Featured GsDevKit projects.
- GsDevKit projects.
- Remote tODE Client installation.
- Scripts for controlling stones.
##Development Kit Server Installation The following steps will install the GemStone/S and Development Kit server, and open the tODE IDE client image:
- Operating System Prerequisites
- Clone gsDevKitHome
- Define gsDevKitHome Environment Variables
- Install a GemStone stone
- Open a tODE client image
- Commit gsDevKitHome configuration changes to git
NOTE: Do not use sudo
when running any of the commands in this document, unless explicitly instructed to do so.
###Operating System Prerequisites The Dev Kit server can be installed on Linux or Mac OS X. The following OS packages must be installed in your system for GsDevKit to work correctly in all cases:
- 32 bit libraries - needed to run Pharo (headless)
- curl - needed by FileTree
- git - needed by GsDevKit and tODE
- PAM - needed by GemStone server
- ssl - needed by GemStone server
- unzip - needed by FileTree
- wget - needed by bin/installGemStone script
For a detailed instructions on installing the OS prerequisites, a full list of required/recommended packages, and scripts that perform the installation, see GsDevKit Operating System Prerequisite Installation.
###Clone gsDevKitHome Clone the gsDevKitHome project to your GemStone development server and create a unique branch to keep any changes you make for your project isolated from the Dev Kit master branch:
Fork the gsDevKitHome project, clone your fork to your local GemStone development server, and create a unique branch to keep any changes you make for your project isolated.
If you are new to github, see the detailed instructions. You will need to setup authentication (generally, SSH credentials) as well, to allow tODE to work.
git clone git@github.com:<yourAccountName>/gsDevKitHome.git
cd gsDevKitHome
- Create a unique branch for your work, and synchronize github
# The purpose of the branch is to have a place to make all your personal customizations. This way,
# if you ever want to feed back changes to gsDevKitHome, your dev branch will be clean. Since the
# basic use case is to have one branch for all your development. You may want to name it after
# yourself!
git checkout -b <your_branch_name>
# Where you push depends on your workflow. Since this is git, you have many options to host your
# code (e.g. GitHub, BitBucket). If you want to simply push to your GitHub fork:
git push origin <your_branch_name>
###Define gsDevKitHome Environment Variables
Define the $GS_HOME
environment variable and add $GS_HOME/bin
to your $PATH
:
cd gsDevKitHome # if you are not already located there
export GS_HOME=`pwd`
export PATH=$GS_HOME/bin:$PATH
To make sure they are always correctly defined, it's a good idea to update your .bashrc
file with these $GS_HOME
and $PATH
definitions.
###Install a GemStone stone
To install a GemStone stone, run the $GS_HOME/bin/installServer
script.
This script performs the following individual steps.
- installs GemStone and Pharo, if not already installed, using the $GS_HOME/bin/installGemStone script.
- builds a tODE client image, using the $GS_HOME/bin/createTodeImage script.
- creates a stone, using the $GS_HOME/bin/createStone script.
- starts the stone, using the $GS_HOME/bin/startStone script.
- starts the netldi, using the $GS_HOME/bin/startNetldi script.
- starts the statmonitor, using the $GS_HOME/bin/startStatmonitor script.
- installs tODE in the stone, using the $GS_HOME/bin/installTodeStone script.
- launches the Pharo tODE client, using the $GS_HOME/bin/todeClient script.
Before running the installServer
script, please check on the GemStone/S 64 Bit product page for the latest versions and visit the Community and Web Edition Licensing page for information on the license included with the download and other options.
It is recommended that you download and use the latest version of the GemStone/S 64 Bit product.
The following creates a new stone named devKit
based on version 3.2.6 of GemStone/S:
installServer devKit 3.2.8.1
Note that the script will prompt you for your password because it uses sudo
to setup up your server for running GemStone.
###Open a tODE client image
When the installServer
script finishes, the tode client image is opened:
To manually open a tode client image, use the $GS_HOME/bin/todeClient script:
todeClient
####Open a tODE shell Once a tode client image is open, use the following menu to open a tode shell:
If an error occurs while attempting to open the tODE shell, see the tODE Test Login section of the Getting Started with tODE document for getting help diagnosing the problem.
####Open a tODE project list
Open a tODE a Project List Browser using the project list
tODE command:
For additional information on using tODE see the Getting Started with tODE document.
###Commit gsDevKitHome configuration changes to git commit the changes that you've made. (If you've forked the GitHub project, you should push the changes to your GitHub repository as well):
git status # see the changes that have been made
git add --all # stage the changed files
git commit -m"initial installation" # commit the changes