Well after I tried myself months ago to get istatd to compile on my Opensolaris box (token) someone smarter and who is not as lazy has worked it all out and got it to compile. One thing he did not do tho was write an init script so that it would start @ boot time. Here you can find it.
Please follow the install instructions on the following blog - I have written scripts, included a sample configuration and written a init script.
Compile Script (Place in parent dir to source code):
[bash]
#!/bin/bash
DIR=istatd-
VER=0.5.7
ACLOCAL110=aclocal-1.10
export ACLOCAL110
AUTOMAKE110=automake-1.10
export AUTOMAKE110
AUTOCONF26=autoconf
export AUTOCONF26
AUTOHEADER26=autoheader
export AUTOHEADER26
LIBTOOLIZE15=libtoolize
export LIBTOOLIZE15
cd ${DIR}${VER}
pwd
./configure
if [ $? -ne 0 ]; then
echo "ERROR with configure"
fi
make
echo "--> Finished compiling ..."
pfexec useradd istat
pfexec groupadd istat
if [ ! -d /var/cache/istat ]; then
mkdir /var/cache/istat
fi
pfexec chown istat:istat /var/cache/istat
echo "--> Finished ..."
[/bash]
Sample Config:
[plain]
#
# /etc/istat.conf: Configuration for iStat server
#
# network_addr 127.0.0.1
network_port 5901
server_code 55551
server_user istat
server_group istat
# server_socket /tmp/istatd.sock
server_pid /var/run/istat/istatd.pid
cache_dir /var/cache/istat
# Note: Only support for one network interface, limited by client.
monitor_net ( bge0 )
# Array of disks to monitor. Specify mount path or device name.
monitor_disk ( / /home )
# Set to 1 if you want to use mount path as label instead of the device name.
disk_mount_path_label 0
# Try to probe the filesystem for disk label, will override the mount path label.
disk_filesystem_label 1
# Set custom disk label. Will override all other labels.
# disk_rename_label /dev/sda1 "root"
# disk_rename_label /home "home"
# End of file
[/plain]
Init Script:
[bash]
#!/bin/bash
# Basic support for chkconfig
###
# chkconfig: 35 99 55
# description: start and stop istatd - iphone monitoring tool daemon
###
DIR=/usr/local/bin/
BINARY=istatd
OPTS="-d"
PIDFILE=/var/run/istat/istatd.pid
case "$1" in
start)
echo -n "Starting $BINARY ... "
$DIR/$BINARY $OPTS
if [ $? -ne 0 ]; then
echo "! Failed !"
else
echo "done"
fi
;;
stop)
echo -n "Stopping $BINARY ... "
kill $(cat $PIDFILE)
echo "done"
;;
status)
ps -ef | grep "$BINARY $OPTS"
;;
*)
echo "Usage: $0 {start|status|stop}"
exit 1
esac
exit 0
[/bash]
ln -s /etc/init.d/istatd /etc/rc3.d/S99istatd
ln -s /etc/init.d/istatd /etc/rc3.d/K10istatd
If someone has written a SMF service I would love to take it from you 🙂
If you have any questions - feel free to ask ...
Hi
your install script and init script both helped very much.
I will try to make a SMF service.
Cheers
Richard