Tuesday, November 11, 2008

Use TortoiseHg 0.5 to clone a Mercurial 1.0.2 SSH repository

If you just downloaded TortoiseHg v0.5, and try to clone the remote SSH repository, you'll get error message: "The system cannot execute the specified program." Now try:
TortoiseHg> TortoisePlink.exe
The system cannot execute the specified program.
So you have to install Microsoft Visual C++ 2005 SP1 Redistributable Package (x86) according to TortoiseHg FAQ. But even you have done that, it seems that TortoisePlink does not support private key for SSH well.

Now I just fall back to Putty as this is much more direct and prime. Modify Mercurial.ini under TortoiseHg:
; In order to push/pull over ssh you must specify a ssh tool
;ssh = "C:\TortoiseHg\TortoisePlink.exe" -ssh -2
ssh = "C:\Putty0.6\Plink.exe" -ssh -2 -i "C:\key\ubuntu-1.ppk"
Then right click->TortoiseHG->Clone a Repository->Source Path, input something like
ssh://root@192.168.10.1//home/env/mercurial/open-source/openJDK
Then click "clone", it works without a hitch.

Note: As Putty uses user's relative path to home, //home/env/... is to tell it this is an absolute path /home/env/...

Ref:

Sunday, November 9, 2008

Install Mercurial 1.0.2 on Ubuntu 8.1 server using source code package

(Using root recommended)

If compiler and python not installed:
apt-get install build-essential python-dev
tar xvf mercurial-1.0.2.tar.gz
cd mercurial-1.0.2
make install
To verify,
hg debuginstall
Hopefully, you'll see

Checking encoding (UTF-8)...
Checking extensions...
Checking templates...
Checking patch...
Checking commit editor...
Checking username...
No username found, using 'root@hubuntus' instead
(specify a username in your .hgrc file)
No problems detected


And that's it.

Ref: http://www.selenic.com/mercurial/wiki/index.cgi/UnixInstall

Tuesday, November 4, 2008

Eliminate some of ehcache warnings in Hibernate 3

When configuring Hibernate second-level cache using ehcache as cache provider, most articles (eg. Java Persistence with Hibernate) or hibernate manual tell you to use:

hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider

But this way you will get some warning log message like:
To avoid this warning consider using the CacheManager factory methods to create a singleton CacheManager or specifying a separate ehcache configuration (ehcache.xml) for each CacheManager instance.

To eliminate that, you can simply change the cache provider class to:

hibernate.cache.provider_class=net.sf.ehcache.hibernate.SingletonEhCacheProvider

Ref: http://ehcache.sourceforge.net/documentation/hibernate.html

Sunday, November 2, 2008

Install vmware-tools on Ubuntu 8.1 desktop

Installing vmware tools on Ubuntu 8.10 seems not a piece of cake these days. If you install the vmware-tools that come with vmware workstation 6.0.5, you may end up with a incorrectly configured Ubuntu system that hangs during boot. By searching the internet and customerizing to my own system, here are the steps that finally made it work:
# install vmware-tools on Ubuntu 8.1 desktop
#

# Mount image:
# Select "VM-> install vmware-tools" from vmware server console or:
# mount /dev/cdrom /media/cdrom0

# Don't use the default one by VMware:
# cp /media/cdrom0/VMwareTools-6.0.5-109488.tar.gz /home/tmp
# tar xvf VMwareTools-6.0.5-109488.tar.gz

# Get the latest open-vm-tools
wget http://downloads.sourceforge.net/open-vm-tools/open-vm-tools-2008.10.10-123053.tar.gz?modtime=1223858287&big_mirror=0

tar xvf open-vm-tools-2008.10.10-123053.tar.gz

apt-get update
apt-get upgrade
apt-get dist-upgrade # if there’s a new kernel available
shutdown -r now # if you’ve updated the kernel

apt-get install linux-headers-`uname -r`
apt-get install build-essential
apt-get install libproc-dev libdumbnet-dev libicu-dev
apt-get install libgtk2.0-dev
# Can bypass this:
# apt-get install libxinerama-dev libxrender-dev libxrandr-dev
apt-get install libxtst-dev libxss-dev
# Try to get this lib but the script always complains it's old:
# apt-get install liburiparser-dev
apt-get install libgtkmm-2.4-dev # for
open-vm-tools-2009.07.22-179896

cd open-vm-tools-2008.10.10-123053
./configure --disable-unity
make
cd modules/linux
for i in *; do mv ${i} ${i}-only; tar -cf ${i}.tar ${i}-only; done
cd ../../../
mv -f open-vm-tools-*/modules/linux/*.tar vmware-tools-distrib/lib/modules/source/
cd vmware-tools-distrib/

./vmware-install.pl
If you disabled Shared Folders in your VM settings, you’ll see a message “Mounting HGFS shares: failed”. Just enable shared folders and reboot.
(Update on 3/8/2009: Not successful running VMwareTools-6.0.5-109488's vmware-install.pl with open-vm-tools-2009.07.22-179896: compilation failed as missing header files in that release)

Reference and thanks to:
1. http://diamondsw.dyndns.org/Home/Et_Cetera/Entries/2008/4/25_Linux_2.6.24_and_VMWare.html
2. http://muffinresearch.co.uk/archives/2008/07/13/ubuntu-hardy-setting-up-vmware-tools-from-the-cli/