diff options
Diffstat (limited to 'dev/perl/perl-inline')
-rw-r--r-- | dev/perl/perl-inline/Manifest | 24 | ||||
-rwxr-xr-x | dev/perl/perl-inline/perl-inline.SlackBuild | 80 |
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 |