]> gitweb.fluxo.info Git - slackbuilds.git/commitdiff
scilab: added Manifest and patch for GLSA 200901-14
authorrhatto <rhatto@370017ae-e619-0410-ac65-c121f96126d4>
Tue, 27 Jan 2009 15:56:22 +0000 (15:56 +0000)
committerrhatto <rhatto@370017ae-e619-0410-ac65-c121f96126d4>
Tue, 27 Jan 2009 15:56:22 +0000 (15:56 +0000)
git-svn-id: svn+slack://slack.fluxo.info/var/svn/slackbuilds@2095 370017ae-e619-0410-ac65-c121f96126d4

sci/mathematics/scilab/Manifest [new file with mode: 0644]
sci/mathematics/scilab/scilab-4.1.2.diff [new file with mode: 0644]
sci/mathematics/scilab/scilab.SlackBuild

diff --git a/sci/mathematics/scilab/Manifest b/sci/mathematics/scilab/Manifest
new file mode 100644 (file)
index 0000000..fa4f88a
--- /dev/null
@@ -0,0 +1,25 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
+DIST scilab-4.1.2-src.tar.gz 15892277 MD5 17a7a6aa52918f33d96777a0dc423658 RMD160 f708b966143ccbf989f7a0dbed95e4dab324e66f SHA1 d3f3190bd11fe23eebec03fe9feaced0406ddfe3 SHA256 4c0318a316c62a1206e53b936bbb1262d940e390c1d14da77c231e49b134b3a9 SHA512 de8e0fae3be0741dc009e6ce3653cfda6d26f05d4ee1ef1e36f8081a2dcf270834b9d3349f2bc105ad953084fd145e5bb09134f78e8e648a4b52d2b839edd150
+MKBUILD scilab.mkbuild 5463 MD5 e810d70199460f7c87b822acf95998be RMD160 0e07a9166ea2c32c7158fcd71c133d1c25457455 SHA1 9ec09880c931df50ab2d560f39bd4ec92499675c SHA256 ee5b1e7db2ac0dc6b403a51587d92014e0db77ce679a425b7904bbd6923822f1 SHA512 15df1eba897340771ad5c7e22930c265f0d63f32eaa8b659b67c4cf8d8a6b844916538690aee5aa6279690851857dd7cb594be4d3c31e31a17f18ccc27804e86
+PATCH scilab-4.1.2.diff 6067 MD5 f7196b1cf7b2c93ecec838367b720110 RMD160 63f217f41edb721d1717724931410c228ad92dd9 SHA1 9a4856ce02c47d4bbcbffeb449d0861bb13dedf2 SHA256 b25b46e0738b2f37d8333128dc32d2f40358e0a217615f65b5e5811c423e336f SHA512 f8de5d4ab0f8f158780c096be04952751e56755818e6b49899dc6661ff5e9fb97413c674c9c7c418fd07d597430ae5d1b543013867e6ebc1fad4b9e4594ada34
+SLACK-REQUIRED slack-required 76 MD5 58877d11353e21c86686bda806edbafb RMD160 9c03b4214742cfc3973d61a56a788acb3a80b72c SHA1 971c9e383637733753dda64c18e909b079ea9f2a SHA256 6a141b67282e1d70bf1ed31a443c0b3a07e04f6f36c2aad58932077950fd34fa SHA512 fb859c114df9d61a200759d523a05f789001b14be5f05f4ad41d6f904235a7078249b1daebeba828eb5e31e0924f4ebe4cd39dea0b366420389bef1dd2cb1cc9
+SLACKBUILD scilab.SlackBuild 8952 MD5 b3b68c8ec24c7b59786681ec48f9bde8 RMD160 0c10a00d51b1d4bc88a8b98df408bb3005298f6f SHA1 1b809dde26e12d9031cf98912762fa4c87a6ddbf SHA256 9fcbcc9bc2cade584e2239c3e82e5055011a7ffd24fa7bd1c314ed543a89b544 SHA512 82b717a27a1df830b912ec3bcc2c8ccd0ed78118fc2c0e7606bdcb5b89e9e64c3ca174ffd01e5dd270e2ebcc7e420993e5a2a6d7991f5ff8b1db4f282104bc1d
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+iQIcBAEBAgAGBQJJfy2NAAoJEEHL93ESzgeiYhEQAJJlDpe9Wyze+WWVSmvyepbk
+3189x2rcXxpbqmWnkz0mOoIrnZkSUIQsXirNFiG7H+/mAjU9Zc6vGBTtrmC5AEDz
+L4tAz5jpfGqwpskWArPt1kO7vuxRHp0KlSUbPh9Z7dSlIBiwpM6AOvDISxYCnrCw
+MzHgMN2tQTMi+5GfRmYt8NJgtMgA6xwMJjeyKE9pGxEtciEfjWkVquHxE3dGCWQj
+KA1euiwxc2OQCFcHjIBwrVlRaEk+Bf8CY2ZDuwOaNSRmvoG5wqV1ia/gP/3s5By0
+FDibFLcckPlTCMql01Y6DKt7ljQnZ8QkIjt1IY0t6RFzebO7CBtkprdi1FhZ+cWO
+MiRnN+gnzEN6pNS2bvSRkGR35k0m9ASCyEOBhE+LSqhV8GGZkOfDgXeSbKwSchlf
+V1gl1URBVEBw2uPW2ec05HfjRwVKaKgtlPETxsDau/tYPlzgnsMI/RcxWDiCKgqK
+etn+cG7OyFJXSAyeK+xBV91Y/S+7+yOodK9j0bLwSfdLtLkqdIt//L7z4fgrzt5P
+fIjWKIubXt56E8kNrkP7+7WZygwak2T+Ra022vLe1zBb0Ltwy7MrZtg8mNhQRMLt
+WZXkpUtqEx/CJi9R1so9vSkSewkjFtMw+8Cid+hv9VLrMcyPC+ZAAxMeOJtg04Qh
+lmdpASEaDjdiMWMQCVoP
+=RzQm
+-----END PGP SIGNATURE-----
diff --git a/sci/mathematics/scilab/scilab-4.1.2.diff b/sci/mathematics/scilab/scilab-4.1.2.diff
new file mode 100644 (file)
index 0000000..f945fe1
--- /dev/null
@@ -0,0 +1,133 @@
+diff -Naur scilab-4.1.2/bin/scilink scilab-4.1.2.new/bin/scilink
+--- scilab-4.1.2/bin/scilink   2001-04-26 03:43:33.000000000 -0400
++++ scilab-4.1.2.new/bin/scilink       2008-11-07 08:57:27.000000000 -0500
+@@ -15,30 +15,31 @@
+ shift
+ LOCALPOS=`pwd`
+ cd $SCI
+-make show | grep -v make > /tmp/SciLink$$1
+-sed -e "s+routines/default+\$SD+g"  -e "s+libs+\$SL+g" -e "s+./pvm3+\$SPVM+g" /tmp/SciLink$$1 > /tmp/SciLink$$2
++TMPWRKDIR=`mktemp -d sci.XXXXXXXXXX`
++make show | grep -v make > $TMPWRKDIR/SciLink$$1
++sed -e "s+routines/default+\$SD+g"  -e "s+libs+\$SL+g" -e "s+./pvm3+\$SPVM+g" $TMPWRKDIR/SciLink$$1 > $TMPWRKDIR/SciLink$$2
+ for i in $*
+ do
+   x=`basename $i`
+-  sed "s+\$SD/$x++g" /tmp/SciLink$$2 > /tmp/SciLink$$3
+-  rm -f /tmp/SciLink$$2
+-  mv /tmp/SciLink$$3 /tmp/SciLink$$2
++  sed "s+\$SD/$x++g" $TMPWRKDIR/SciLink$$2 > $TMPWRKDIR/SciLink$$3
++  rm -f $TMPWRKDIR/SciLink$$2
++  mv $TMPWRKDIR/SciLink$$3 $TMPWRKDIR/SciLink$$2
+ done
+-echo "#!/bin/sh" > /tmp/SciLink$$3
+-echo  SCI=$SCI >>  /tmp/SciLink$$3
+-echo "SD=\$SCI/routines/default" >>  /tmp/SciLink$$3
+-echo "SPVM=\$SCI/pvm3" >>  /tmp/SciLink$$3
+-echo "SL=\$SCI/libs" >>  /tmp/SciLink$$3
+-echo "LOCAL=\"$*\"" >>  /tmp/SciLink$$3
+-sed -e "s+\$SL+ \$LOCAL \$SL+" -e "s+show+scilex+g" /tmp/SciLink$$2 >> /tmp/SciLink$$3
++echo "#!/bin/sh" > $TMPWRKDIR/SciLink$$3
++echo  SCI=$SCI >>  $TMPWRKDIR/SciLink$$3
++echo "SD=\$SCI/routines/default" >>  $TMPWRKDIR/SciLink$$3
++echo "SPVM=\$SCI/pvm3" >>  $TMPWRKDIR/SciLink$$3
++echo "SL=\$SCI/libs" >>  $TMPWRKDIR/SciLink$$3
++echo "LOCAL=\"$*\"" >>  $TMPWRKDIR/SciLink$$3
++sed -e "s+\$SL+ \$LOCAL \$SL+" -e "s+show+scilex+g" $TMPWRKDIR/SciLink$$2 >> $TMPWRKDIR/SciLink$$3
+ cd $LOCALPOS
+-mv /tmp/SciLink$$3 Script
++mv $TMPWRKDIR/SciLink$$3 Script
+ chmod +x Script 
+ echo "Linking a new Scilab with " $*
+ ./Script 
+ echo "I've created : scilex and scilab which uses that scilex"
+ sed -e "s+\$SCI/bin/scilex+`pwd`/scilex+g" $SCI/bin/scilab > scilab 
+ chmod +x scilab 
+-#rm -f /tmp/SciLink*
++#rm -f $TMPWRKDIR/SciLink*
+diff -Naur scilab-4.1.2/util/scidem scilab-4.1.2.new/util/scidem
+--- scilab-4.1.2/util/scidem   2002-09-02 07:14:52.000000000 -0400
++++ scilab-4.1.2.new/util/scidem       2008-11-07 08:57:27.000000000 -0500
+@@ -6,33 +6,34 @@
+ echo ------------------- File $2--------------------
+ SCI1=$1
+ if [ -f $3  ]; then rm $3;fi;
+-trap "rm -f /tmp/$2.$$ /tmp/$2.$$.res /tmp/$2.$$.err /tmp/$2.$$.diff\
++TMPWRKDIR=`mktemp -d sci.XXXXXXXXXX`
++trap "rm -f $TMPWRKDIR/$2.$$ $TMPWRKDIR/$2.$$.res $TMPWRKDIR/$2.$$.err $TMPWRKDIR/$2.$$.diff\
+         ;exit 1"  1 2 13 15
+ echo "clear;lines(0);deff('[]=bugmes()','write(%io(2),''error on test'')');\
+-        diary('$3');driver('Pos');" >> /tmp/$2.$$ ;
++        diary('$3');driver('Pos');" >> $TMPWRKDIR/$2.$$ ;
+ sed     -e "s/pause,end/bugmes();quit;end/" \
+         -e "s/halt()//" \
+-        $2 >> /tmp/$2.$$ ;
+-echo "diary(0);xend();exit;" >> /tmp/$2.$$ ;
+-($SCI1/bin/scilab -nwni < /tmp/$2.$$ > /tmp/$2.$$.res ) 2> /tmp/$2.$$.err ;
++        $2 >> $TMPWRKDIR/$2.$$ ;
++echo "diary(0);xend();exit;" >> $TMPWRKDIR/$2.$$ ;
++($SCI1/bin/scilab -nwni < $TMPWRKDIR/$2.$$ > $TMPWRKDIR/$2.$$.res ) 2> $TMPWRKDIR/$2.$$.err ;
+ sed -e "s/ \./0\./g" -e "s/E+/D+/g" -e "s/E-/D-/g" -e "s/-\./-0\./g" -e "s/^-->//g" -e "s/^-1->//g" $3 > $3.n
+ grep -v "xinit(" $3.n | grep -v "diary(" | grep -v "exec("  > $3
+ rm -f $3.n
+-if ( grep " error" /tmp/$2.$$.res >  /dev/null ) ; then 
++if ( grep " error" $TMPWRKDIR/$2.$$.res >  /dev/null ) ; then 
+         if [ $# != 4 ]; then 
+                 echo "Test failed ERROR DETECTED  while executing $2" ;
+-        else if (grep "$4" /tmp/$2.$$.res >  /dev/null ) ; 
++        else if (grep "$4" $TMPWRKDIR/$2.$$.res >  /dev/null ) ; 
+              then  echo Test skipped ;
+              else echo "Test failed ERROR DETECTED  while executing $2" ;
+              fi;
+         fi;
+ else if [ -f $3.ref ];then 
+-        if ( diff -w $3 $3.ref > /tmp/$2.$$.diff ) ;
++        if ( diff -w $3 $3.ref > $TMPWRKDIR/$2.$$.diff ) ;
+         then  echo Test passed ;
+         else  echo Test Failed SEE : diff -w  $3 $3.ref ;
+         fi;
+       fi;
+ fi;
+ echo ---------------------------------------------------------- 
+-#rm -f /tmp/$2.$$ /tmp/$2.$$.res /tmp/$2.$$.err /tmp/$2.$$.diff
++#rm -f $TMPWRKDIR/$2.$$ $TMPWRKDIR/$2.$$.res $TMPWRKDIR/$2.$$.err $TMPWRKDIR/$2.$$.diff
+ exit 0
+diff -Naur scilab-4.1.2/util/scidoc scilab-4.1.2.new/util/scidoc
+--- scilab-4.1.2/util/scidoc   2006-01-04 09:40:34.000000000 -0500
++++ scilab-4.1.2.new/util/scidoc       2008-11-07 08:57:27.000000000 -0500
+@@ -7,24 +7,26 @@
+ SCI=$1
+ export SCI
+ if [ -f $3  ]; then rm $3;fi;
+-trap "rm -f /tmp/$2.$$ /tmp/$2.$$.res /tmp/$2.$$.err /tmp/$2.$$.diff\
++TMPWRKDIR=`mktemp -d sci.XXXXXXXXXX`
++trap "rm -f $TMPWRKDIR/$2.$$ $TMPWRKDIR/$2.$$.res $TMPWRKDIR/$2.$$.err $TMPWRKDIR/$2.$$.diff\
+       ;exit 1"  1 2 13 15
+ echo "clear;lines(0);deff('[]=bugmes()','write(%io(2),''error on test'')');\
+-      diary('$3');driver('Pos');" >> /tmp/$2.$$ ;
++      diary('$3');driver('Pos');" >> $TMPWRKDIR/$2.$$ ;
+ sed     -e "s/pause,end/bugmes();quit;end/" \
+       -e "s/halt()//" \
+-        $2 >> /tmp/$2.$$ ;
+-echo "diary(0);xend();quit;quit;quit;quit;quit;quit;" >> /tmp/$2.$$ ;
+-($SCI/bin/scilex -nw < /tmp/$2.$$ > /tmp/$2.$$.res ) 2> /tmp/$2.$$.err ;
++        $2 >> $TMPWRKDIR/$2.$$ ;
++echo "diary(0);xend();quit;quit;quit;quit;quit;quit;" >> $TMPWRKDIR/$2.$$ ;
++($SCI/bin/scilex -nw < $TMPWRKDIR/$2.$$ > $TMPWRKDIR/$2.$$.res ) 2> $TMPWRKDIR/$2.$$.err ;
+ sed -e "s/ \.[0-9]/0&/g" -e "s/0 \./0./g" -e "s/E+/D+/g" -e "s/E-/D-/g" -e "s/-\./-0\./g" $3 > $3.n
+ grep -v "xinit(" $3.n | grep -v "diary(" | grep -v "exec("  > $3
+ rm -f $3.n
+-if ( grep error /tmp/$2.$$.res >  /dev/null ) ; then 
++if ( grep error $TMPWRKDIR/$2.$$.res >  /dev/null ) ; then 
+       if [ $# != 4 ]; then 
+               echo "ERROR DETECTED  while executing $2" ;
+       fi;
+ fi;
+ echo ---------------------------------------------------------- 
+-rm -f /tmp/$2.$$ /tmp/$2.$$.res /tmp/$2.$$.err /tmp/$2.$$.diff
++rm -f $TMPWRKDIR/$2.$$ $TMPWRKDIR/$2.$$.res $TMPWRKDIR/$2.$$.err $TMPWRKDIR/$2.$$.diff 
++rmdir $TMPWRKDIR
+ exit 0
index 082a656b56e40f1d719f32e3c00a6cb30f71cd67..ef42399d454164479af3164b6b406034d93dcacf 100755 (executable)
@@ -15,7 +15,7 @@
 #  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
 # slackbuild for scilab, by Rudson R. Alves
-# requires: gtk+2 
+# requires:  
 # tested: scilab-4.1.2
 #
 
@@ -47,9 +47,9 @@ NUMJOBS=${NUMJOBS:="-j4"}
 LIBDIR="$PREFIX/lib"
 
 if [ "$ARCH" = "i386" ]; then
-  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+  SLKCFLAGS="-O2 -march=i386 -mtune=i686"
 elif [ "$ARCH" = "i486" ]; then
-  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+  SLKCFLAGS="-O2 -march=i486 -mtune=i686"
 elif [ "$ARCH" = "i686" ]; then
   SLKCFLAGS="-O2 -march=i686"
 elif [ "$ARCH" = "s390" ]; then
@@ -65,6 +65,7 @@ ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
 ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
 ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
 ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+ERROR_MANIFEST=43;
 
 # Clean up any leftovers of previous builds
 rm -rf "$PKG_WORK" 2> /dev/null
@@ -84,12 +85,103 @@ if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
   wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
+# Check Manifest file
+if [ -e "$CWD/Manifest" ]; then
+
+  # Manifest signature checking
+  if grep -q -- "-----BEGIN PGP SIGNED MESSAGE-----" $CWD/Manifest; then
+    echo "Checking Manifest signature..."
+    gpg --verify $CWD/Manifest
+    if [ "$?" != "0" ]; then
+      exit $ERROR_MANIFEST
+    fi
+  fi
+
+  MANIFEST_LINES="`grep -E -v "^(MKBUILD|SLACKBUILD)" $CWD/Manifest | wc -l`"
+
+  for ((MANIFEST_COUNT=1; MANIFEST_COUNT <= $MANIFEST_LINES; MANIFEST_COUNT++)); do
+
+    MANIFEST_LINE="`grep -E -v "^(MKBUILD|SLACKBUILD)" $CWD/Manifest | head -n $MANIFEST_COUNT | tail -n 1`"
+    MANIFEST_FILE="`echo $MANIFEST_LINE | awk '{ print $2 }'`"
+    MANIFEST_FILE_TYPE="`echo $MANIFEST_LINE | awk '{ print $1 }'`"
+
+    if [ -e "$SRC_DIR/$MANIFEST_FILE" ]; then
+      MANIFEST_FILE="$SRC_DIR/$MANIFEST_FILE"
+    else
+      MANIFEST_FILE="`find $CWD -name $MANIFEST_FILE`"
+    fi
+
+    if [ ! -e "$MANIFEST_FILE" ] || [ -d "$MANIFEST_FILE" ]; then
+      continue
+    fi
+
+    echo "Checking Manifest for $MANIFEST_FILE_TYPE $MANIFEST_FILE integrity..."
+
+    SIZE_SRC="`wc -c $MANIFEST_FILE | awk '{ print $1 }'`"
+    SIZE_MANIFEST="`echo $MANIFEST_LINE | awk '{ print $3 }'`"
+
+    # Check source code size
+    if [ "$SIZE_SRC" != "$SIZE_MANIFEST" ]; then
+      echo "SIZE Manifest: $SIZE_MANIFEST; SIZE $SRC: $SIZE_SRC"
+      exit $ERROR_MANIFEST
+    else
+      echo "Size match."
+    fi
+
+    # Check source code integrity
+    for ALGO in md5 rmd160 sha1 sha256 sha512; do
+      if [ $ALGO = "rmd160" ]; then
+        ALGO_SRC="`openssl rmd160 $MANIFEST_FILE | awk '{ print $2 }'`"
+      else
+        ALGO_SRC="`"$ALGO"sum $MANIFEST_FILE | awk '{ print $1 }'`"
+      fi
+      ALGO="`echo $ALGO | tr '[:lower:]' '[:upper:]'`"
+      ALGO_MANIFEST=$(echo $MANIFEST_LINE | sed "s/.* $ALGO //" | awk '{ print $1 }')
+      if [ "$ALGO_SRC" != "$ALGO_MANIFEST" ]; then
+        echo "$ALGO Manifest: $ALGO_MANIFEST; $ALGO $SRC: $ALGO_SRC"
+        exit $ERROR_MANIFEST
+      else
+        echo "$ALGO match."
+      fi
+    done
+
+  done
+
+else
+  exit $ERROR_MANIFEST
+fi
+
 # Untar
 cd "$PKG_WORK"
 tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
 PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
 cd "$PKG_SRC"
 
+# Patch source
+patches=" [[PATCH URLS]]
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  patch="`basename $patch`"
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$SRC_DIR/$patch" ]; then
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  fi
+done
+
 # Configure
 CFLAGS="$SLKCFLAGS" \
   CXXFLAGS="$SLKCFLAGS" \