[root@esxhost tmp]# cd /var/tmp
[root@esxhost tmp]# wget http://www.openssl.org/source/openssl-0.9.8j.tar.gz
[root@esxhost tmp]# tar zxf /var/tmp/openssl-0.9.8j.tar.gz
[root@esxhost tmp]# cd openssl-0.9.8j
[root@esxhost openssl-0.9.8j]# ./Configure --prefix=/apps/puppet/openssl-0.9.8j linux-elf
[root@esxhost openssl-0.9.8j]# make > MAKELOG 2>&1 &
[root@esxhost openssl-0.9.8j]# make install > MAKELOG.install 2>&1 &
[root@esxhost openssl-0.9.8j]# ls -l /apps/puppet/openssl-0.9.8j
total 16
drwxr-xr-x 2 root root 4096 Feb 26 05:51 bin
drwxr-xr-x 3 root root 4096 Feb 26 05:51 include
drwxr-xr-x 4 root root 4096 Feb 26 05:51 lib
drwxr-xr-x 6 root root 4096 Feb 26 05:51 ssl
[root@esxhost tmp]# wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p160.tar.bz2
[root@esxhost tmp]# tar xjf /var/tmp/warbjoh/ruby-1.8.7-p160.tar.bz2
[root@esxhost tmp]# cd ruby-1.8.7-p160
[root@esxhost ruby-1.8.7]# ./configure --with-openssl --with-openssl-dir=/apps/puppet/openssl-0.9.8j --prefix=/apps/puppet/ruby-1.8.7-p160
[root@esxhost ruby-1.8.7]# make > MAKELOG 2>&1 &
[root@esxhost ruby-1.8.7]# make install > MAKELOG.install 2>&1 &
[root@esxhost tmp]# wget http://ttsky.net/src/ruby-shadow-1.4.1.tar.gz
[root@esxhost tmp]# cp /var/tmp/src/ruby-shadow-1.4.1.tar.gz /var/tmp
[root@esxhost tmp]# tar xzf ruby-shadow-1.4.1.tar.gz
[root@esxhost shadow-1.4.1]# /apps/puppet/ruby-1.8.7-p160/bin/ruby extconf.rb
[root@esxhost shadow-1.4.1]# make
[root@esxhost shadow-1.4.1]# make install
/usr/bin/install -c -m 0755 shadow.so /apps/puppet/ruby-1.8.7-p160/lib/ruby/site_ruby/1.8/i686-linux
[root@esxhost tmp]# wget http://rubyforge.org/frs/download.php/56872/rake-0.8.7.tgz
[root@esxhost rake-0.8.7]# /apps/puppet/ruby-1.8.7-p160/bin/ruby install.rb
[root@esxhost tmp]# wget http://rubyforge.org/frs/download.php/56227/rubygems-1.3.3.tgz
[root@esxhost rubygems-1.3.3]# /apps/puppet/ruby-1.8.7-p160/bin/ruby setup.rb
# Augeas requires readline libraries & headers, and readline-devel not on server
[root@esxhost tmp]# wget --passive-ftp ftp://ftp.gnu.org/gnu/readline/readline-4.3.tar.gz
[root@esxhost readline-4.3]# ./configure
--prefix=/apps/puppet/readline-4.3
[root@esxhost readline-4.3]# make > MAKELOG 2>&1 &
[root@esxhost readline-4.3]# make install > MAKELOG.install 2>&1 &
[root@esxhost tmp]# wget http://augeas.net/download/augeas-0.5.0.tar.gz
[root@esxhost tmp]# wget http://augeas.net/download/ruby/ruby-augeas-0.2.0.tgz
[root@esxhost augeas-0.5.0]#
[root@esxhost augeas-0.5.0]# export CPPFLAGS=-I/apps/puppet/readline-4.3/include LDFLAGS=-L/apps/puppet/readline-4.3/lib
[root@esxhost augeas-0.5.0]# ./configure --prefix=/apps/puppet/augeas-0.5.0
[root@esxhost augeas-0.5.0]# make > MAKELOG 2>&1 &
[root@esxhost augeas-0.5.0]# make install > MAKELOG.install 2>&1 &
[root@esxhost tmp]# cd ruby-augeas-0.2.0
[root@esxhost ruby-augeas-0.2.0]# /apps/puppet/ruby-1.8.7-p160/bin/ruby ext/augeas/extconf.rb --with-augeas-config=/apps/puppet/augeas-0.5.0/lib/pkgconfig
# I can’t get this to work naturally, so
have to hack the Makefile, My lack of understanding of ruby in general
[root@esxhost ruby-augeas-0.2.0]# vi Makefile
INCFLAGS = -I. -I$(topdir) -I$(hdrdir) -I$(srcdir) -I/apps/puppet/augeas/include
CPPFLAGS = $(DEFS) $(cppflags) -I/apps/puppet/augeas/include
ldflags = -L. -rdynamic -Wl,-export-dynamic -L/apps/puppet/augeas/lib -Wl,-R/apps/puppet/augeas/lib
LIBS = -lrt -ldl -lcrypt -lm -lc -laugeas -lruby-static
[root@esxhost ruby-augeas-0.2.0]# make
[root@esxhost ruby-augeas-0.2.0]# make install
/usr/bin/install -c -m 0755 _augeas.so /apps/puppet/ruby-1.8.7-p160/lib/ruby/site_ruby/1.8/i686-linux
[root@esxhost ruby-augeas-0.2.0]# cp lib/augeas.rb /apps/puppet/ruby/lib/ruby/site_ruby/1.8/
[root@esxhost tmp]# cp -rp /var/tmp/src/facter-1.5.3 /apps/puppet/
[root@esxhost tmp]# cp -rp /var/tmp/src/puppet-0.24.7 /apps/puppet/
[root@esxhost ruby-1.8.7]# cd /apps/puppet/
[root@esxhost puppet]# ln -s facter-1.5.3 facter
[root@esxhost puppet]# ln -s puppet-0.24.7 puppet
[root@esxhost puppet]# ln -s ruby-1.8.7 ruby
[root@esxhost puppet]# ls -l /apps/puppet
total 16
lrwxrwxrwx 1 root root 12 Aug 24 03:10 augeas -> augeas-0.5.0
drwxr-xr-x 6 root root 4096 May 21 03:00 augeas-0.5.0
lrwxrwxrwx 1 root root 12 Aug 24 03:10 facter -> facter-1.5.5
drwxr-xr-x 8 root root 4096 Feb 20 2009 facter-1.5.3
drwxr-xr-x 7 root root 4096 May 22 14:49 facter-1.5.5
drwxr-xr-x 6 root root 4096 Feb 26 2009 openssl-0.9.8j
lrwxrwxrwx 1 root root 13 Aug 24 03:10 puppet -> puppet-0.24.7
drwxr-xr-x 10 root root 4096 Dec 16 2008 puppet-0.24.7
lrwxrwxrwx 1 root root 12 Aug 24 03:10 readline -> readline-4.3
drwxr-xr-x 6 root root 4096 May 21 02:50 readline-4.3
lrwxrwxrwx 1 root root 15 Aug 24 03:10 ruby -> ruby-1.8.7-p160
drwxr-xr-x 5 root root 4096 May 19 07:28 ruby-1.8.7-p160
Edit src/facter-1.5.3/lib/facter/network.rb with http://projects.reductivelabs.com/issues/1926
It works:
[root@esxhost root]# export PATH=/apps/puppet/ruby/bin:/apps/puppet/puppet/bin:/apps/puppet/facter/bin:$PATH
[root@esxhost root]# export RUBYLIB=/apps/puppet/puppet/lib:/apps/puppet/facter/lib
[root@esxhost root]# facter
architecture => i386
domain => insidelive.net
facterversion => 1.5.3
fqdn => esxhost.fq.dn
hardwareisa => i686
hardwaremodel => i686
hostname => esxhost
id => root
interfaces => vmnic0,vmnic1,vmnic2,vmnic3,vmnic4,vmnic5,vswif0
ipaddress => x.x.x.x
ipaddress_vswif0 => x.x.x.x
kernel => Linux
kernelrelease => 2.4.21-57.ELvmnix
kernelversion => 2.4.21
macaddress => 00:12:79:A5:8C:3D
macaddress_vmnic0 => 00:12:79:A5:8C:3D
macaddress_vmnic1 => 00:12:79:A5:8C:3C
macaddress_vmnic2 => 00:19:BB:EA:A2:50
macaddress_vmnic3 => 00:19:BB:EA:A2:51
macaddress_vmnic4 => 00:19:BB:EA:A2:52
macaddress_vmnic5 => 00:19:BB:EA:A2:53
macaddress_vswif0 => 00:50:56:47:91:F0
manufacturer => HP
memoryfree => 121.00 MB
memorysize => 262.27 MB
netmask => 255.255.255.0
netmask_vswif0 => 255.255.255.0
network_vswif0 => x.x.x.0
operatingsystem => RedHat
operatingsystemrelease => 3
processor0 => Intel(R) Xeon(TM) CPU 3.60GHz
processorcount => 1
productname => ProLiant DL380 G4
ps => ps -ef
puppetversion => 0.24.7
rubysitedir => /apps/puppet/ruby-1.8.7/lib/ruby/site_ruby/1.8
rubyversion => 1.8.7
serialnumber => GB8520AHNS
sshdsakey => AAAAB3NzaC1kc3MAAACBAKtU33M9hDaNZ6HhcwytRCzHIP0gHhzzIAgIsPwjNVaKhuGIXb5ls92GoTWjMp1Sihgoc2ulhwHDneUic6C47T70dQT5JfZ89Z0OWjpjCOboDLqRhxRlOkZGGf9oIz8J6ut6IJkArhCUF7Cd2ovX01r+3m+WduGILJ6qev0Dw3z1AAAAFQDzF1cYIRdsOMHKon/zyBCObWAnMwAAAIEAkTV6/j39ObcAM5PzJKrL02AmjQlZ5DAPtFclswrfKYBFPotY3jaVN/WJUDNQ4DfPEF6DnP30BFEXL5nX2FJqT+Ee+19b/dsQJxpxaoagNu0NG3wqcQ8GEq2smoVH+jVnFsxKb/sm8J6oEjjVgq3C/6y4vtdWCNr8wpdDlup6wo0AAACBAI6fpop/AasEh+cNz4RINHKUqagWxYLHCk2tJHaOATkrZiY9swyRfxOZHliEqi9dL803KKdx6svStepUFTBDvKCPTIQwYK0PYlIufM3NlO/ojWhubRL3xNm+gJTyOx56eslKXP7ZUu5YYM3PogatSH1roPNABcMQ5BaDPFQdudod
sshrsakey => AAAAB3NzaC1yc2EAAAABIwAAAIEA0jC43LdG1SEeS889EoO6wFKZ/KYo23XoiJP9rLjwDbOGs5IJoSFNSTT0ABBBekluYVO11gpla9tlOiSnDPA6RP7M89QhMkZXTiaFYcbssRE6zKsoofkuCI74UiF6dPBbsj1nNw1kjwACcQ5d0O3GVJiPECfrm9IOltizDnbih9U=
swapfree => 361.30 MB
swapsize => 541.85 MB
type => Rack Mount Chassis
uniqueid => 3445b597
uptime => 107 days
uptime_days => 107
uptime_hours => 2587
uptime_seconds => 9315873
virtual => vmware_server