fixed source apkg installer
authorVictor Kirhenshtein <victor@netxms.org>
Thu, 22 Jan 2015 09:43:42 +0000 (11:43 +0200)
committerVictor Kirhenshtein <victor@netxms.org>
Thu, 22 Jan 2015 09:44:24 +0000 (11:44 +0200)
.gitignore
contrib/installAgent.sh
tools/stub.sh

index b258840..a96f7e1 100644 (file)
@@ -35,6 +35,9 @@ target
 .deps
 .idea
 
+/netxms-*.tar.gz
+/*.apkg
+
 /runtime-nxmc.*
 
 /aclocal.m4
index 9ae6ab8..70eb0fd 100755 (executable)
@@ -3,7 +3,6 @@
 prefix=/opt/netxms
 config=/etc/nxagentd.conf
 log=/tmp/nxagentupdate.log
-#prefix=/usr/local
 configureAdd=
 
 ###############################################################################
@@ -73,7 +72,7 @@ KILLALL -15 nxagentd >>$log 2>&1
 sleep 15 && KILLALL -9 nxagentd >>$log 2>&1
 
 # do configure
-./configure --prefix=$prefix --with-agent $configureAdd >>$log 2>&1
+./configure --prefix=$prefix --with-agent --with-internal-libtre $configureAdd >>$log 2>&1
        if [ $? != 0 ]; then
        echo configure failed, restarting old agent  >>$log
        # Try to restart existing agent
@@ -81,10 +80,17 @@ sleep 15 && KILLALL -9 nxagentd >>$log 2>&1
        exit 4
 fi
 
+# move old libs to prevent linker errors
+rm -rf $prefix/lib.bak
+mv $prefix/lib $prefix/lib.bak
+
 # build
 $make >>$log 2>&1
 if [ $? != 0 ]; then
        echo build failed, restarting old agent >>$log
+       # restore lib dir
+       rm -rf $prefix/lib
+       mv $prefix/lib.bak $prefix/lib
        # Try to restart existing agent
        $prefix/bin/nxagentd -d -c $config >>$log 2>&1
        exit 4
@@ -94,6 +100,9 @@ fi
 $make install >>$log 2>&1
 if [ $? != 0 ]; then
        echo install failed, restarting old agent >>$log
+       # restore lib dir
+       rm -rf $prefix/lib
+       mv $prefix/lib.bak $prefix/lib
        # Try to restart existing agent
        $prefix/bin/nxagentd -d -c $config >>$log 2>&1
        exit 5
@@ -112,4 +121,7 @@ if [ $ret != 0 ]; then
        echo nxagentd not started \($ret\) >>$log
        exit 5
 fi
+
+# remove old and temporary files
+rm -rf $prefix/lib.bak
 rm -f $log.tmp
index 7f57fa1..e65d510 100755 (executable)
@@ -6,6 +6,9 @@ skip=__SKIP__
 skip1=__SKIP1__
 command=__COMMAND__
 log=/tmp/nxagentupdate.log
+md5found=no
+postproc1="cut -b1-32"
+postproc2="cat"
 
 trap '
        echo "Upgrade script finished" >> $log
@@ -30,6 +33,7 @@ for app in openssl md5sum md5; do
                echo $tmp | grep "no $app in " >/dev/null 2>&1
                if [ $? != 0 ]; then
                        md5=$tmp
+                       md5found=yes
                        break
                fi
        fi
@@ -41,6 +45,7 @@ if [ -z "$md5" ]; then
                        for app in openssl md5sum md5; do
                                if [ -x "$dir/$app" ]; then
                                        md5="$dir/$app"
+                                       md5found=yes
                                        break
                                fi
                        done
@@ -51,6 +56,8 @@ fi
 
 if [ "`basename $md5`" = "openssl" ]; then
        md5="$md5 md5"
+       postproc1="cut -d = -f 2"
+       postproc2="cut -b2-33"
 fi
 
 tail="tail -n"
@@ -76,11 +83,12 @@ else
        alias mktemp=_mktemp
 fi
 
-if [ "x$md5" != "x" ]; then
+if [ "$md5found" = "yes" ]; then
        if [ "X"`head -n $skip $0 |
                $tail +5 |
                $md5 |
-               cut -b1-32 |
+               $postproc1 |
+               $postproc2 |
                tr A-Z a-z` != "X"$hash1 ];
        then
                echo "Script MD5 mismach; upgrade aborted" >> $log
@@ -89,7 +97,8 @@ if [ "x$md5" != "x" ]; then
 
        if [ "X"`$tail +$skip1 $0 |
                $md5 |
-               cut -b1-32 |
+               $postproc1 |
+               $postproc2 |
                tr A-Z a-z` != "X"$hash2 ];
        then
                echo "Payload MD5 mismach; upgrade aborted" >> $log