Various fixes
authorVictor Kirhenshtein <victor@netxms.org>
Sat, 26 May 2007 10:42:19 +0000 (10:42 +0000)
committerVictor Kirhenshtein <victor@netxms.org>
Sat, 26 May 2007 10:42:19 +0000 (10:42 +0000)
contrib/installBinaryAgent.sh
src/agent/core/sysinfo.cpp
tools/sharIt
tools/stub.sh

index 3c7d9d0..c0f5566 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-# $Id: installBinaryAgent.sh,v 1.1 2007-05-11 08:46:38 alk Exp $
+# $Id: installBinaryAgent.sh,v 1.2 2007-05-26 10:42:19 victor Exp $
 
 # Copyright (c) 2007, NetXMS Team
 #
@@ -47,21 +47,6 @@ while [ "x"$1 != "x" ]; do
        shift
 done
 
-case `uname -s` in
-       Linux)
-               pkill=killall
-               ;;
-       SunOS)
-               pkill=pkill
-               ;;
-       *BSD)
-               pkill=killall
-               ;;
-       *)
-               pkill=pkill
-               ;;
-esac
-
 cd `dirname $0`
 name=`ls nxagent-*.tar.gz 2>/dev/null|sed s',\.tar\.gz$,,'`
 if [ "x$name" = "x" ]; then
@@ -78,14 +63,14 @@ if [ $? != 0 ]; then
        exit 2
 fi
 
-# ask nxagentd gently
-$pkill nxagentd >>$log 2>&1
-# wait a few seconds and smash it down
-sleep 15 && $pkill -9 nxagentd >>$log 2>&1
+pids=`ps -e | grep nxagentd | grep -v grep | awk '{ print $1; }'`
 
-# backup current version
-rm -rf $prefix.backup
-cp -R $prefix $prefix.backup 2>/dev/null
+if [ "x$pids" != "x" ]; then
+       # ask nxagentd gently
+       kill $pids >>$log 2>&1
+       # wait a few seconds and smash it down
+       sleep 15 && kill -9 $pids >>$log 2>&1
+fi
 
 # install new files
 mkdir $prefix 2>/dev/null
index 2647614..2b0bca6 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: sysinfo.cpp,v 1.22 2007-02-06 07:56:41 alk Exp $ */
+/* $Id: sysinfo.cpp,v 1.23 2007-05-26 10:42:19 victor Exp $ */
 /* 
 ** NetXMS multiplatform core agent
 ** Copyright (C) 2003, 2004 Victor Kirhenshtein
@@ -281,7 +281,12 @@ LONG H_PlatformName(char *cmd, char *arg, char *value)
 
    if (uname(&info) != -1)
    {
+#ifdef _AIX
+      // Assume that we are running on PowerPC
+      sprintf(value, "%s-powerpc", info.sysname);
+#else
       sprintf(value, "%s-%s", info.sysname, info.machine);
+#endif
    }
    else
    {
index 09561f4..d2c1e4c 100755 (executable)
@@ -1,8 +1,8 @@
-#!/bin/sh
+#!/usr/local/bin/bash
 
-trap '
-       rm -f tmp
-' INT EXIT
+#trap '
+#      rm -f tmp
+#' INT EXIT
 
 if [ "x"$3 = "x" ]; then
        echo "Usage: $0 input.tar.gz scriptname output.sh"
@@ -29,16 +29,11 @@ if [ $? != 0 ]; then
 fi
 
 case `uname -s` in
-       Linux)
-               #skip=`wc -l stub.sh|cut -d' ' -f1`
-               skip=`cat stub.sh | wc -l | sed 's,^ *,,'`
-               ;;
        *BSD)
                skip=`echo \`wc -l stub.sh|cut -b1-8\``
                ;;
        *)
-               echo unknown system, duh
-               exit;
+               skip=`cat stub.sh | wc -l | sed 's,^ *,,'`
                ;;
 esac
 if [ "x$BASH" == "x" ]; then
@@ -51,7 +46,7 @@ fi
 sed "s,__SKIP__,$skip,g" < stub.sh |
        sed "s,__SKIP1__,$skip1,g" |
        sed "s,__COMMAND__,$2,g" > tmp
-hash1=`tail -n+5 tmp | $md5 | cut -b1-32 | tr A-Z a-z`
+hash1=`tail -n +5 tmp | $md5 | cut -b1-32 | tr A-Z a-z`
 hash2=`cat $1 | $md5 | cut -b1-32 | tr A-Z a-z`
 sed "s,__HASH1__,$hash1,g" < tmp | sed "s,__HASH2__,$hash2,g" > $3
 
index d8d660f..719c499 100755 (executable)
@@ -19,55 +19,10 @@ trap '
 rm -f $log
 echo "WD = $wd" >> $log
 
-_PATH=$PATH
-PATH=$PATH:`echo /opt/openssl*/bin | tr ' ' ':'`
-export PATH
-md5=
-for app in openssl md5sum md5;
-do
-       tmp=`which $app 2>/dev/null`
-       if [ $? = 0 ]; then
-               echo $tmp | grep "no $app in " >/dev/null 2>&1
-               if [ $?  != 0 ]; then
-                       md5=$tmp
-                       [ $app = "openssl" ] && md5="$md5 md5"
-               fi
-       fi
-done
-PATH=$_PATH
-export PATH
-
-tail="tail -n"
-if [ `uname` = "SunOS" ]; then
-       tail=tail
-       mktemp() {
-               d=/tmp/nxupdate.$$.UniQ
-               mkdir $d && echo $d || false
-       }
-fi
-
-if [ "x$md5" != "x" ]; then
-       if [ "X"`head -n$skip $0 |
-               $tail +5 |
-               $md5 |
-               cut -b1-32 |
-               tr A-Z a-z` != "X"$hash1 ];
-       then
-               echo "Script MD5 mismach" >> $log
-               exit
-       fi
-
-       if [ "X"`$tail +$skip1 $0 |
-               $md5 |
-               cut -b1-32 |
-               tr A-Z a-z` != "X"$hash2 ];
-       then
-               echo "Payload MD5 mismach" >> $log
-               exit
-       fi
-else
-       echo "No md5/md5sum/openssl found, can't check integrity" >> $log
-fi
+mktemp() {
+       d=/tmp/nxupdate.$$.UniQ
+       mkdir $d && echo $d || false
+}
 
 temp=`mktemp -d /tmp/nxinst.XXXXXX 2>/dev/null`
 if [ $? != 0 ]; then
@@ -75,7 +30,7 @@ if [ $? != 0 ]; then
        exit 0
 fi
 cd $temp
-$tail +$skip1 $wd/$0 | gzip -dc 2>/dev/null | tar xf -
+tail +$skip1 $wd/$0 | gzip -dc 2>/dev/null | tar xf -
 if [ $? != 0 ]; then
        echo "Can't unpack" >> $log
        exit;