First Typo 4.0 pre-release
Posted by Scott Laird Wed, 05 Jul 2006 15:57:20 GMT
I just uploaded a gem for Typo 3.99.0 to Rubyforge. Once it propagates, people should be able to test the new Typo installer by running two simple commands:
$ gem install typo
$ typo install /tmp/typo
This is a test release; please don’t overwrite your existing, working Typo build with the new Typo installer.
I’d love to get some feedback from people about the installer, though. If you have a chance, give it a shot and let me know if it works. It should pull in Rails 1.1.4 and Mongrel all on its own, and then freeze the Rails gems into vendor/. I had to write my own Rails freeze code, because rake rails:freeze:gems won’t let you specify which Rails release you’re freezing, and I’d like to allow people to continue to install Typo even on systems that have Rails 1.2.x installed. I could have just bundled all of Rails into the Typo gem, but that’d be an abuse of the packaging system. As it is, it should all ‘just work’.
I still have a few things that I need to do before the installer is complete:
- Actually write the Apache HTTP proxy instructions (for 1.3 and 2.x)
- Add lighttpd proxy directions.
- Figure out how to best have Typo restart on reboot.
- Handle the ”missing swig” problem better.
- Figure out of the installer will work on Windows.
We also have a couple issues remaining before Typo itself is ready to be called 4.0.0, but we’re getting pretty close. If a few people could test this pre-release for us, then we should be able to get 4.0 out within a week or two.
Update: Expect 3.99.1 in a few hours. There are a couple substantial installer bugs when running from the .gem file. They aren’t dangerous, but they’ll keep it from working in many situations.

I had to install sqlite because sqlite3 is a gem requirement for typo gem, why? I just want to use mysql or postgres, not sqlite it also asked me to install rails 1.1.4 I did all the upgrades, and then:
gem install typo
Attempting local installation of ‘typo’ Local gem file not found: typo*.gem Attempting remote installation of ‘typo’ ERROR: While executing gem … (OpenURI::HTTPError) 404 Not Found
The HTTP error is presumably indicating that the Typo GEM hasn’t spread to your download server yet. Wait an hour or two and it should work right.
The Typo GEM is there to make it as easy as possible for users to install Typo. Since setting up a database is one of the painful parts of installing Typo, the GEM will default to using SQLite, because there’s no server involved and Typo can do all of the work needed to get it running on its own. It’s certainly possible to use Typo with MySQL and Postgres (I use Postgres here, and I’m not planning on switching), but I’d like to make SQLite the default for new users, just because it’s SO SIMPLE.
We’ll continue to provide .tar.gz and .zip files for people to use, and I’ll write instructions on how to use the Typo gem without sqlite (short version for now: install with sqlite, then do
typo config /path/to/typo database=mysqland edit your database.yml. If enough people care, I can addtypo install /path/to/typo --db=mysql --dbname=typo --dbhost=localhost --dbuser=typo --dbpassword=foo, but it’s a bit of a pain.Is Mongrel recommended for deployment or just development in lieu of WEBrick? I haven’t used Mongrel yet but checked out this Slash7 thread. The replies mentions a number of issues including that Zed doesn’t recommend lighttpd with Mongrel due to mod_proxy issues. LiteSpeed seems to be web server for Mongrel
I tried to install new typo on my Ubuntu , but it failed.
/usr/lib/ruby/1.8/fileutils.rb:1216:in
mkdir': No such file or directory - /tmp/typo/vendor/rails/railties (Errno::ENOENT) from /usr/lib/ruby/1.8/fileutils.rb:1216:incopy’ from /usr/lib/ruby/1.8/fileutils.rb:447:incopy_entry' from /usr/lib/ruby/1.8/fileutils.rb:1306:intraverse’ from /usr/lib/ruby/1.8/fileutils.rb:445:incopy_entry' from /usr/lib/ruby/1.8/fileutils.rb:423:incp_r’ from /usr/lib/ruby/1.8/fileutils.rb:1377:infu_each_src_dest' from /usr/lib/ruby/1.8/fileutils.rb:1393:infueachsrc_dest0’ from /usr/lib/ruby/1.8/fileutils.rb:1375:infu_each_src_dest' from /usr/lib/ruby/1.8/fileutils.rb:422:incp_r’ from /usr/lib/ruby/gems/1.8/gems/typo-3.99.0/./installer/rails-installer.rb:280:incopy_gem' from /usr/lib/ruby/gems/1.8/gems/typo-3.99.0/./installer/rails-installer.rb:260:infreeze_rails’ from /usr/lib/ruby/gems/1.8/gems/typo-3.99.0/./installer/typo-installer.rb:14:ininstall_sequence' from /usr/lib/ruby/gems/1.8/gems/typo-3.99.0/./installer/rails-installer.rb:52:ininstall’ from /usr/lib/ruby/gems/1.8/gems/typo-3.99.0/./installer/rails-installer.rb:444:inexecute_command' from /usr/lib/ruby/gems/1.8/gems/typo-3.99.0/bin/typo:12 from /usr/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/dependencies.rb:140:inload’ from /usr/bin/typo:18Is this release newer than current Typo trunk?
This *is* the Typo trunk. Or at least a snapshot as of the time it was released.
Question: I already have Rails 1.1.4, LiteSpeed and Mongrel installed on my server, serving a separate rails app. If I do the
$ gem install typo $ typo install /tmp/typo
dance, will it detect that I already have these installed and use them? Or will it install them again? If so, where are they put?
Partial answer to
On Mac OS X you can modify the instructions here to add a startup item which will restart MONGREL (which will start typo). Just be sure to put the .plist into “LaunchDaemons” instead of “LaunchAgents” in order for it to work.
These are the instructions for getting Mongel to work with Litespeed:
http://mongrel.rubyforge.org/docs/litespeed.html
Running ‘gem install typo’ will only install the packages that are missing; if Rails 1.1.4, Mongrel 0.3.x, and so forth are already installed, then they won’t be reinstalled. It will upgrade out-of-date versions, however. They’ll be installed wherever the default location is for gems, usually
/usr/lib/ruby/gems.The big question isn’t how to start the typo process (which can now be either mongrel or mongrel_cluster) on one OS. The problem is how do we provide one set of directions that will work everywhere. We can explain how to get it to work on OS X, Linux and Solaris, *BSD, and Windows, but that’s at least 4 sets of directions; possibly five if you count users without root access.