You are currently browsing the monthly archive for November 2011.
GLASS 1.0-beta.8.7.1 has been released. There are only a couple of bugfixes in this release as this release was targeted at the upcoming GemStone/S 2.4.5 release. The bulk of the changes were related to porting GLASS 1.0-beta.8.7 to GemStone/S 2.4.5.
GLASS 1.0-beta.8.7.1 has been tested against GemStone/S 2.3.1, GemStone/S 2.4.4.1, GemStone/S 3.0.1 and the forthcoming GemStone/S 2.4.5 release.
To upgrade to GLASS 1.0-beta.8.7.1:
- Update your GemTools image to GemTools 1.0-beta.8.6.
- Update GLASS to 1.0-beta.8.7.1.
- Make a backup.
—–
[1]http://www.flickr.com/photos/delgrossodotcom/3698511651 / CC BY-NC-SA 2.0
GemTools 1.0-beta.8.6 has been released. With this release the GLASS upgrade process has been improved, yet again.
One-Click 1.0-beta.8.6 GemTools
One-Click GemTools images are available on the GLASS downloads page. GemTools images are available for use with GemStone/S 2.3.x, GemStone/S 2.4.4.x, and GemStone/S 3.0.1.x,
GLASS Upgrade Cha Cha
I suppose it is a little known fact that the GemTools code base includes code that is used to drive the GLASS upgrade process, although my constant entreaties to “upgrade GemTools to the latest version before upgrading GLASS” may have given you a clue or two.
I thought I’d take this opportunity to describe what goes on behind the scenes when you select the Update > Update GLASS menu item in GemTools. This section should be especially useful if you prefer to upgrade your system without running GemTools.
For a complete upgrade script, take a look at the GLASS upgrade script page on the glass db wiki. The GLASS upgrade script page will always have the latest and greatest upgrade script.
Through the ‘Update GLASS’
The upgrade process has been greatly simplified since I first started using Metacello for bootstrapping GLASS 1.0-beta.0, back in November of 2009, but the basic steps have remained the same:
Bootstrap Metacello
Currently Metacello 1.0-beta.31.1 is the version that is needed for a smooth upgrade process:
ConfigurationOfMetacello project currentVersion versionNumber < '1.0-beta.31.1' asMetacelloVersionNumber ifTrue: [ (Gofer new) gemsource: 'metacello'; version: 'Gofer-Core.gemstone-dkh.135'; version: 'Metacello-Base-DaleHenrichs.19'; version: 'Metacello-Core-dkh.468'; version: 'Metacello-MC-dkh.531'; version: 'Metacello-Platform.gemstone-dkh.23'; load ].
It turns out that the best formula for bootstrapping Metacello is to directly load the key packages. I would have liked to use Metacello to bootstrap itself, but for GLASS we need to upgrade a wide range of Metacello releases dating back to over a year ago and there are several bugs that make it impractical to do anything but load the packages directly.
Bootstrap Monticello
To bootstrap Monticello, we use the GLASS configuration and load the ‘Core’ and ‘Monticello’ projects:
MCPlatformSupport commitOnAlmostOutOfMemoryDuring: [[[ (ConfigurationOfGLASS project version: '1.0-beta.8.7.1') load: #( 'Core' 'Monticello' ) ] on: MetacelloSkipDirtyPackageLoad do: [:ex | ex resume: false ]] on: Warning do: [:ex | Transcript cr; show: ex description. ex resume ]].
We wrap the load with an out-of-memory handler.
The MetacelloSkipDirtyPackageLoad handler is there to compensate for a bug in the Monticello package loader that occasionally resulted in a package being marked dirty after a successful load.
The Warning handler is also there to ensure that packages needed for the upgrade are loaded whether or not they are marked dirty.
Upgrade GLASS
The GLASS upgrade is completed by doing a simple load:
MCPlatformSupport commitOnAlmostOutOfMemoryDuring: [[[ (ConfigurationOfGLASS project version: '1.0-beta.8.7.1') load ] on: MetacelloSkipDirtyPackageLoad do: [:ex | ex resume: false ]] on: Warning do: [:ex | Transcript cr; show: ex description. ex resume ]].
—–
[1]http://www.flickr.com/photos/archer10/5228946002 / CC BY-SA 2.0
GemStone 3.0.1
GemStone/S 64 3.0.1 was released on Monday of this week.GemStone/S 64 Bit 3.0.1 is a new version of the GemStone/S 64 Bit object server. This release provides feature enhancements and fixes a number of serious 3.0 bugs.
Release notes, Install Guide and manuals are available here. Be sure to carefully read the GemStone 3.0.0 release notes, if this is the first time you have used GemStone/S 3.0 as there are significant differences between GemStone3.x and GemStone 2.x
GLASS 1.0-beta.8.7
GemStone 3.0.1 ships with GLASS 1.0-beta.8.7 pre-installed in $GEMSTONE/bin/extent0.seaside.dbf
.
Currently there is no path for upgrading a GemStone 2.x GLASS application to GemStone 3.0.1. The upgrade path will be defined in a future release.
If you are running a production application in GemStone 2.x, it is recommended that you continue to use GemStone 2.x for production. You should port your application to GemStone 3.0.1 in preparation for the time when the upgrade procedure is defined.
If you are starting a new application then you should use GemStone 3.0.1 as a starting point.
Download and Installation
You can download the binaries from ftp://ftp.gemstone.com/pub/GemStone64/3.0.1/ or visit seaside.gemstone.com downloads page and use the installGemStone3.0.1.sh script to download and install GemStone 3.0.1 on your machine (highly recommended).
Starting a 3.0.1 stone
Once you’ve installed Gemstone in /opt/gemstone/product
, follow these steps to start and stop the stone:
- Define GEMSTONE environment variables ($GEMSTONE/bin and $GEMSTONE/seaside/bin added to your $PATH environment variable):
source /opt/gemstone/product/seaside/defSeaside
It is recommended that you add this step to your
.bashrc
. - Copy the
system.conf
and GLASSextent0.dbf
files to data directory:cp $GEMSTONE/seaside/system.conf \ $GEMSTONE/seaside/data chmod +w $GEMSTONE/seaside/data/system.conf cp $GEMSTONE/bin/extent0.seaside.dbf \ $GEMSTONE/seaside/data/extent0.dbf chmod +w $GEMSTONE/seaside/data/extent0.dbf
This step is performed as part of the installGemStone3.0.1.sh script.
- Start
netldi
andstone
processes:startnet startGemstone
- Ensure
stone
process is running:gslist -lcv
- Stop
stone
process:stopGemstone
Check the Starting a stone page on the glass db wiki for updates to the above procedure.
GemTools 1.0-beta.8.5
A One-Click GemTools 1.0-beta.8.5 for GemStone 3.0.1 can be obtained from the seaside.gemstone.com downloads page or you can download GemTools 1.0-beta.8.5 for Gemstone/S 3.0.1 all platforms directly.
You can build a custom GemTools image by following these steps on the glass db wiki.
Seaside 3.0, Magritte 2.0, and Pier 2.0
I have new releases of Seaside, Magritte and Pier that have been ported to GemStone 3.0.1 queued up and they should be made available shortly.
—–
[1] “Mike” Michael L. Baird, flickr.bairdphotos.com / CC BY 2.0