aboutsummaryrefslogtreecommitdiff
path: root/dev/perl/perl-inline
diff options
context:
space:
mode:
Diffstat (limited to 'dev/perl/perl-inline')
-rw-r--r--dev/perl/perl-inline/Manifest24
-rwxr-xr-xdev/perl/perl-inline/perl-inline.SlackBuild80
2 files changed, 99 insertions, 5 deletions
diff --git a/dev/perl/perl-inline/Manifest b/dev/perl/perl-inline/Manifest
new file mode 100644
index 00000000..972e6c1b
--- /dev/null
+++ b/dev/perl/perl-inline/Manifest
@@ -0,0 +1,24 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
+DIST Inline-0.45.tar.gz 93844 MD5 63140a6c911f1576fdee71ba4457610f RMD160 0563af1b2c52c26190cd2bef4f724395d92101e0 SHA1 a2d9ef44861e66e573fc7ffb7e6ed7ab92a59038 SHA256 3db1e20529f22b847a87ce1d4319d9c0441b2a3a311392f41ac30b68c7cab6cc SHA512 f2025ac6e150a04097af94fefc81af7ea3379a281cdc7a7a181950296f95524db758522350605cb41651f2664c1cae36a8cfbe09999c7cbb20188a6f5e4c8c3d
+MKBUILD perl-inline.mkbuild 2389 MD5 e688ce4b092c904b69be91d6a9c009eb RMD160 6c2c1429b90ea27233b0226b537567f1131aa6c0 SHA1 3a8701f7a89edf78fd9dc088a5fbb6cd41c99be3 SHA256 59ad310d410f90b92e90caca16bab287d180c7211904275b848fcc2f4400ddfd SHA512 8e9c2d125044b96ad9797b15b4c2649fca066daafdad192ffc3b4cbb84ae9e12921e85c2add10c9bfea6b010acd05cd38e5120c27a1a68abe7916df73a0955ff
+SLACK-REQUIRED slack-required 92 MD5 898456f0fc95a095c70d8a6f090e6010 RMD160 15466f70c9b47ea62ffdcc0a3ff2694a6cc4fc86 SHA1 8f5fcf0904dd61ccce1567c70e026788b360e400 SHA256 b58a7cbc6705ca17d0514b8023d82d0ff22c8aff30057743111508993e49157e SHA512 4382272a137768b9c562130d3babe1f07798d6b6064c71f54450a4a1544008e85b1e73373953a45f3d2079290ccbd621dc92b1c22d76e1791fd51bfdcfa3a360
+SLACKBUILD perl-inline.SlackBuild 7113 MD5 f9ed659614b833cda9dcf2ef7e89895b RMD160 25a79486094f13272ec58a4b65708fb5ac2181fc SHA1 4f4b76b15bbe9eddd606e8d696079746f781763c SHA256 22344654efe6656260b37c2f484b78e6731a07cac22bde8e8a97822a10ab4bcf SHA512 e88c2f4314fbe20ce255c1b8cecd66ddec23f0c8c710f0cc1ef62f66f8bedd96424ba34f768d8f5ffe0e27d62a0df2e2b71268866ddb53141aad7df095ad5f98
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+iQIcBAEBAgAGBQJJ81txAAoJEEHL93ESzgeiH+MQALhApO+7sx98No/SMvnA/BNo
+uX09tWTJ9s/cC5QIbdyYK2W7cuIhA94DvHYBDEAZ6+yNEeLV5PbV0YDdFGymWIjo
+ah/Rc5mpqpB1d9Lk1Pik06fS4xs3EX+EuAyc+f9LtFwUPq9bUfhR096Bk0FE7+WS
+aQyfjytvlvpscYiDYaw7c5HXHOXDvoN96LTJ42q+tYstgxkHYDdncS61oIuFO3Xi
+v143Z7yrofzPoyoAFJaw9zlu1llAQ9g3DOPAPIREtmwk/tGtdf4tMKqwtUMKTR9o
+nJnEP/y3B1weJD5WjCRcl8tWY/Coqn52XJcGnz7WF8G8Ld8n2ySdhXpP+k7YF3ck
+TT1ROwYfolI1Dz83kIboGEUWIdMYiE08QDZrHX7PjY6Mk1hyLkzy4D+IH0JKpglS
+vo07udGxq3g98YxzFS/gTUAa/XsR5Yr7kYO0YXtiakOApfI9mef3MLoFDh5JM3bg
+847dLKIG2x7Hn6aSYMJlpxeovveZv9yWPLM1fzjHALugs7OGLNKSTROCRoObkJMe
+IRSCvQO/6M1ZomNsXa1E9xe4ArPiC5RmesbSEonFnj3IcFO767KjHF7FFZFFfM9L
+zMAsc6FLar+2hSAUwTwuSUdX30JDBdhZtuJvw08HxSfbZ6j2URH+bfwuqkCmMbsk
+w28UXlI7Z+95CRsjjqhv
+=BAi/
+-----END PGP SIGNATURE-----
diff --git a/dev/perl/perl-inline/perl-inline.SlackBuild b/dev/perl/perl-inline/perl-inline.SlackBuild
index 0cbaf637..c2099e8d 100755
--- a/dev/perl/perl-inline/perl-inline.SlackBuild
+++ b/dev/perl/perl-inline/perl-inline.SlackBuild
@@ -15,8 +15,9 @@
# Place - Suite 330, Boston, MA 02111-1307, USA
#
# slackbuild for perl-inline, by Silvio Rhatto
-# requires: perl-parse-recdescent
-# tested: perl-inline-0.44
+# requires:
+# tested: perl-inline-0.45
+# model: perl.mkSlackBuild $Rev: 796 $
#
# Look for slackbuildrc
@@ -31,13 +32,14 @@ CWD="$(pwd)"
SRC_NAME="Inline"
PKG_NAME="perl-inline"
ARCH=${ARCH:=i486}
-SRC_VERSION=${VERSION:=0.44}
+SRC_VERSION=${VERSION:=0.45}
PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
BUILD=${BUILD:=1rha}
SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
TMP=${TMP:=/tmp}
PKG=${PKG:=$TMP/package-$PKG_NAME}
REPOS=${REPOS:=$TMP}
+SLACKBUILD_PATH=${SLACKBUILD_PATH:="dev/perl/perl-inline"}
PREFIX=${PREFIX:=/usr}
PKG_WORK="$TMP/$SRC_NAME"
CONF_OPTIONS=${CONF_OPTIONS:=""}
@@ -64,6 +66,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_SRC" 2> /dev/null
@@ -77,12 +80,78 @@ mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
# Dowload source if necessary
SRC="$SRC_NAME-$VERSION.tar.gz"
-URL="http://search.cpan.org/CPAN/authors/id/I/IN/INGY/$SRC"
+URL="http://search.cpan.org/CPAN/authors/id/S/SI/SISYPHUS/$SRC"
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 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
@@ -154,7 +223,8 @@ fi
# Build the package
cd "$PKG"
-makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+mkdir -p $REPOS/$SLACKBUILD_PATH
+makepkg -l y -c n "$REPOS/$SLACKBUILD_PATH/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
# Delete source and build directories if requested
if [ "$CLEANUP" == "yes" ] || [ "$1" = "--cleanup" ]; then