MozillaBuild Fun

MozillaBuild is awesome since it saves a ton of time creating a build environment. The older cygwin based system wasn’t exactly an intuitive process. The downside of the change is those stupid tricks you knew, no longer apply in some cases.

For example a cvs checkout over SSH. Once upon a time you could follow the instructions to have it remember your ssh key so you don’t have to enter a password every 30 seconds. I simply had this in a batch file along with a bunch of environmental variables.

for /f "tokens=1,2,3* delims=; " %%a in (‘ssh-agent -c’) do if "%%a"=="setenv" set %%b=%%c
set HOME=/cygdrive/c/cygwin/home/USERNAME
ssh-add ~/.ssh/id_dsa
start /b /wait cmd.exe
ssh-agent -k
exit

That’s no longer useful. I was able to find a new way to do this thanks to Myk. He did it for MSVC7, I’m using MSVC8:

Add %MOZILLABUILD%\msys\bin\SSH-agent into the MYSYS Shell line in the batch script to launch your build environment. For example:

start "MSYS Shell – MSVC8 Environment" %MOZILLABUILD%\msys\bin\ssh-agent "%MOZILLABUILD%\msys\bin\rxvt" -backspacekey -sl 2500 -fg %FGCOLOR% -bg %BGCOLOR% -sr -fn "Lucida Console" -tn msys -geometry 80×25 -e /bin/bash –login -i

Then in your MSYS shell enter:

ssh-add ~/.ssh/id_dsa

Now you can sit back and enjoy a cvs checkout without needing to enter your password all the time. That makes things a lot easier.

I was strongly considering using my Mac Mini to build, but it’s a rev1, and the thought of using a 4200 RPM drive for something like compiling something like this made me change my mind.

Switching to Gaim

I’m not exactly a big Instant Messaging fan, but it seems life forces you to use it these days. The majority of use on AIM, some MSN, Yahoo, and sometimes my favorite Skype. All those clients are clutter. So I don’t use Yahoo much, and keep that one closed. I’ve complained several times about how AOL dropped the ball with AIM. It’s client is about as bloated as Real Player. It’s gotten progressively worse after each release, to get a new feature, or security fix, you need to sacrifice more of your computer. I personally don’t like that concept.

I’m now using Gaim full time, and it seems to work rather well for me, minus a few caveats. Anyone who can help me would be requested to leave a comment:

  • Gaim won’t load with cygwin in the PATH, crashing with no clear error. No clue how to fix this without killing cygwin yet.
  • I could really use a S/MIME encryption plugin so that I’m compatible with those using the official AIM client with security enabled (they use SSL and S/MIME I believe). Anyone know of such a plugin?
  • Way to enforce a minimum font size (windows users tend to use rather small font sizes for things like AIM profiles, I’d love to simply +1 a few off the smaller ones).
  • Not that I use it often, but AIM has somewhat unstable file transfer. Some improvements in that area would be welcome.

Overall, I’m rather satisfied. It’s not perfect, but it’s better than AIM is at the moment. Perhaps Triton will shape up at some point. Until then I think Gaim is the best solution.

Note: Yes, I’ve tried Trillian. It’s a good product, but not good enough to pay for. Sorry Trillian fans. It’s rather ugly (haven’t seen a skin yet that doesn’t fix that), it’s UI is just strange, and it’s just not featured enough for the money. Adium is bliss on my Mac.

TortoiseCVS rock!

I’m not really a CVS fan. Yea, it’s a cool thing, and yes, it’s necessary. But could they make more of an effort to make it cumbersome and awkward?

cygwin’s CVS was acting funny, so today I downloaded and tried out TortoiseCVS. It’s for Windows only :-(. To sumarize it, it simply integrates CVS in Windows. So you can navigate the file system, and just right click on a directory or file, and add, commit update, etc. etc.

I gave it a little spin today, and yes, I love it. It’s a keeper.

Oh, and CVSRootChanger also makes life really sweet.

Between the two, CVS is no longer sucky. In fact, it’s amazingly good. It ends up CVS doesn’t really suck, just the clients and no, winCVS is not any better.

I used it earlier to checkin reporter (not in builds yet).

A really spiffy product. Anyone who works with CVS, and hates how CVS works should really check it out. It makes life much easier. I would highly recommend it. It’s a great open source project. Wish they brought that idea to other Operating Systems. If anyone knows of a Linux or Mac OS program that operates with similar integration, let me know in a comment.