rolling your own Unicorn gem prerelease

Eric Wong normalperson at
Wed Sep 30 19:44:17 EDT 2009

Instead of relying entirely on the ridiculous test suite, it's now more
easily possible to roll your own properly-versioned prerelease gems.

You'll need RubyGems >= 1.3.5 to handle pre-release version numbers.

Of course setup.rb users (like myself) have always had this capability,
I just lack real applications to test against...

>From 9cc4f87353b84f5229d4a8bae78260c24cd02154 Mon Sep 17 00:00:00 2001
From: Eric Wong <normalperson at>
Date: Wed, 30 Sep 2009 13:41:26 -0700
Subject: [PATCH] Add makefile targets for non-release installs

This should make it easier to test and run unreleased
 GNUmakefile |    8 ++++++++
 HACKING     |   15 +++++++++++++++
 2 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/GNUmakefile b/GNUmakefile
index 8becc89..3087082 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -227,6 +227,11 @@ verify:
 	test `git rev-parse --verify HEAD^0` = \
 	     `git rev-parse --verify refs/tags/v$(VERSION)^{}`
+gem: $(pkggem)
+install-gem: $(pkggem)
+	gem install $(CURDIR)/$<
 $(pkggem): manifest
 	gem build $(rfpackage).gemspec
 	mkdir -p pkg
@@ -249,6 +254,9 @@ release: verify package $(release_notes) $(release_changes)
 	  $(rfproject) $(rfpackage) $(VERSION) $(pkggem)
 	rubyforge add_file \
 	  $(rfproject) $(rfpackage) $(VERSION) $(pkgtgz)
+gem install-gem: GIT-VERSION-FILE
 .PHONY: .FORCE-GIT-VERSION-FILE doc $(T) $(slow_tests) manifest man
diff --git a/HACKING b/HACKING
index 5085545..08aa76d 100644
@@ -96,3 +96,18 @@ We will adhere to mostly the same conventions for patch submissions as
 git itself.  See the Documentation/SubmittingPatches document
 distributed with git on on patch submission guidelines to follow.  Just
 don't email the git mailing list or maintainer with Unicorn patches :)
+== Running Development Versions
+It is easy to install the contents of your git working directory:
+Via RubyGems (RubyGems 1.3.5+ recommended for prerelease versions):
+  make install-gem
+Without RubyGems (via setup.rb):
+  make install
+It is not at all recommended to mix a RubyGems installation with an
+installation done without RubyGems, however.
Eric Wong

More information about the mongrel-unicorn mailing list