]> gitweb.fluxo.info Git - slackbuilds.git/commitdiff
duplicity: adding more dependencies and manifest
authorrhatto <rhatto@370017ae-e619-0410-ac65-c121f96126d4>
Sun, 28 Dec 2008 17:31:33 +0000 (17:31 +0000)
committerrhatto <rhatto@370017ae-e619-0410-ac65-c121f96126d4>
Sun, 28 Dec 2008 17:31:33 +0000 (17:31 +0000)
git-svn-id: svn+slack://slack.fluxo.info/var/svn/slackbuilds@2048 370017ae-e619-0410-ac65-c121f96126d4

app/backup/duplicity/Manifest [new file with mode: 0644]
app/backup/duplicity/duplicity.SlackBuild
app/backup/duplicity/slack-required

diff --git a/app/backup/duplicity/Manifest b/app/backup/duplicity/Manifest
new file mode 100644 (file)
index 0000000..1d1160d
--- /dev/null
@@ -0,0 +1,4 @@
+DIST duplicity-0.5.03.tar.gz 146490 MD5 80273525ae47e8075078a855cf4a134e SHA1 7c78ec834fb742c1499680db4024e625f13fd21a SHA256 d6e3929dc515b72916bfe7cadb25cbe7b383b9f699353bed65c16029ea1cda81 SHA512 41258134b0b5fb4bf19f849a3f0dc0e66da38d21769934564b0019e0aa68fe253c2f173232eede6e79b9d90d8abfe8329d67cfccaaec5860669caee6ec001424 RMD160 4841488694a1d9c1229fbf298e9a46c5a2e96007
+MKBUILD duplicity.mkbuild 3257 MD5 4e0deb66fd464a3a296bf976c89252a9 SHA1 dca986a21c156d724d37d097e17334ea88427b08 SHA256 4d1f8e4c06dfd738f3f0be22e90e044496dc0c436f88ea685bbcfcb8cae3da00 SHA512 84208f007672182ffa0eb9e70b7f43fd4e99ca348c5e45b25a5ff1e47cb0223226ed325bab7818c6e3084ec7808917e7553484eccf3c80136de74243549fa798 RMD160 d75bf0877b5b40338ab770e5298f7164e462b989
+SLACK-REQUIRED slack-required 107 MD5 f35f4cde74f4c8647d2c8aac01927ade SHA1 ff30133a4e23609f8b3faddf26c6fa90487e769b SHA256 127536baf911bc2e6d86dc801231a14cc9dc769bd9f08ef9909c44f2a95a1513 SHA512 0327c883e77e93aa9360c2aa2b06a568947f8e3c495a0c8e526a5718ea3718f7b4f61c37b1ee2906bf98f05df965114e9f71b746b33ec696ec93c74aef421334 RMD160 6679ef54a25ef75d592edb3da6953b10def79a06
+SLACKBUILD duplicity.SlackBuild 6690 MD5 256ca8c11294a61da528acaede99f298 SHA1 f4cf9fcaac4be2d1c88ada555105903b4369b9dc SHA256 1131d000275f591bb4e482ba14b1363235d80447a4e405e7c9dfd6f3c981942a SHA512 00ad4446a2888d0e7a992b93cc6bc8e52fadb1416ae6f3bd19fa534bb2e38bca8ece8a46334b5f00c98fd05f80b6476bf2da46ed24c159951191832298f7ec46 RMD160 be78a1341eb32367b1bf56cf2adb8007ea007d58
index 466742169f51056dbcff5c14845ba3c9931c25b5..c50d8ba87885d8d12e86f225a9760e9b1d8a7c27 100755 (executable)
@@ -15,7 +15,7 @@
 #  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
 # slackbuild for duplicity, by Silvio Rhatto
-# requires: librsync 
+# requires: librsync py-gnupg pexpect 
 # tested: duplicity-0.5.03
 #
 
@@ -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,6 +85,63 @@ 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_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 sha1 sha256 sha512 rmd160; 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
index 9e64016569ecb77ee007d2b3b0f0a1cd9b8eac35..23a51f59c3fd9cc35cb25674345fe1cca0d78dc8 100644 (file)
@@ -2,3 +2,5 @@
 #
 # dependency [condition] [version]]
 librsync                               
+py-gnupg                               
+pexpect