aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/antivirus/clamav/Manifest33
-rwxr-xr-xapp/antivirus/clamav/clamav.SlackBuild4
-rw-r--r--app/misc/wyrd/Manifest24
-rw-r--r--app/misc/wyrd/slack-required4
-rw-r--r--app/misc/wyrd/wyrd.SlackBuild286
-rw-r--r--dev/libs/stfl/Manifest24
-rw-r--r--dev/libs/stfl/stfl-0.21.diff24
-rw-r--r--dev/libs/stfl/stfl.SlackBuild246
-rw-r--r--dev/perl/perl-array-compare/Manifest24
-rwxr-xr-xdev/perl/perl-array-compare/perl-array-compare.SlackBuild78
-rw-r--r--dev/perl/perl-io-socket-ssl/Manifest24
-rwxr-xr-xdev/perl/perl-io-socket-ssl/perl-io-socket-ssl.SlackBuild74
-rw-r--r--dev/perl/perl-mime-base64/Manifest23
-rwxr-xr-xdev/perl/perl-mime-base64/perl-mime-base64.SlackBuild78
-rw-r--r--dev/perl/perl-module-build/Manifest23
-rwxr-xr-xdev/perl/perl-module-build/perl-module-build.SlackBuild74
-rw-r--r--dev/perl/perl-net-ssleay/Manifest24
-rwxr-xr-xdev/perl/perl-net-ssleay/perl-net-ssleay.SlackBuild74
-rw-r--r--dev/perl/perl-sub-uplevel/Manifest23
-rwxr-xr-xdev/perl/perl-sub-uplevel/perl-sub-uplevel.SlackBuild74
-rw-r--r--dev/perl/perl-test-exception/Manifest23
-rwxr-xr-xdev/perl/perl-test-exception/perl-test-exception.SlackBuild74
-rw-r--r--dev/perl/perl-test-warn/Manifest23
-rwxr-xr-xdev/perl/perl-test-warn/perl-test-warn.SlackBuild74
-rw-r--r--dev/perl/perl-tree-dag_node/Manifest23
-rwxr-xr-xdev/perl/perl-tree-dag_node/perl-tree-dag_node.SlackBuild74
-rw-r--r--net/dns/ddclient/Manifest24
-rw-r--r--net/dns/ddclient/ddclient.SlackBuild261
-rw-r--r--net/dns/ddclient/slack-required4
-rw-r--r--net/dns/inadyn/Manifest23
-rw-r--r--net/dns/inadyn/inadyn.SlackBuild236
-rw-r--r--net/news/newsbeuter/Manifest24
-rw-r--r--net/news/newsbeuter/newsbeuter.SlackBuild221
-rw-r--r--net/news/newsbeuter/slack-required4
-rw-r--r--x11/misc/remind/Manifest23
-rw-r--r--x11/misc/remind/remind.SlackBuild282
36 files changed, 2591 insertions, 40 deletions
diff --git a/app/antivirus/clamav/Manifest b/app/antivirus/clamav/Manifest
index b73da13a..83f9a32f 100644
--- a/app/antivirus/clamav/Manifest
+++ b/app/antivirus/clamav/Manifest
@@ -1,23 +1,24 @@
-----BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
+Hash: SHA256
DIST clamav-0.95.1.tar.gz 24260964 MD5 c802d4b372e455849cfcb0d776fc72d8 RMD160 80769c09ca15c864a578206feabe9cc4a3d985b4 SHA1 a469b0128cf5e9d18392a0385417fc5e4575bfc7 SHA256 6161a0ffa988166cfe3c2afb3056b791f3f70285fc87f547612427bd57f63b7d SHA512 a74a7bd400453713bea17368e473b97c6f7f0462d1fe41dc1b36735f51925f52fd0e7b9e0f5535b10b658e18421ea412950dac626a4086c9e97aa8e6abe58e2a
-MKBUILD clamav.mkbuild 3507 MD5 3e9223e86c6b9039d373d2d58bcf986e RMD160 9da8d0677913b805bb60743501cc7adb0ba02b5b SHA1 a17f62361805332f8d4bfde6140fe3c8a60d859e SHA256 3b1b89380b2e9370ff4b079f93a867ca0de2f9679203b3a981f59848ed3b1eea SHA512 61e09d0e0fbeee0f648dced94d7901cb4e08fd49bbc4a4d072b00d347e0e2e00692d2a4c2a7717912580d96467e61ccb5a9f98f52a5ef4a9a7c726e589983d97
-SLACKBUILD clamav.SlackBuild 10138 MD5 d26b879a9f4a4ebe7b6aa7882d19f13d RMD160 2b49180d0aa1a86e3cc0d2b4631c5e5f4ec81958 SHA1 549e030ba8a8fa9e0022e2471aff1cc780cdb228 SHA256 87c0b1fd915913bf6145d3c7379064adce115f6c0ca2e8819d213bbfe64e70c4 SHA512 3d33aed216d7b59959ac8367b9916dfb8067a9ce53c49e4643e806ef4117118e1ac5bd540adff608e003daed1dbd692ef32427b6072be0752746a951fac59c2f
+DIST clamav-0.95.2.tar.gz 25137010 MD5 930362397d30e01ba81b5f24c1046d48 RMD160 83cab51c224251316288e4c3189ba91f640e9f82 SHA1 7544b39d84f2233b984a9c2ce3ef74d407add483 SHA256 f5f2a5a9984fd1ade69a7c2cc78da2f5dc0c505f94ab58fb2aa6613399ab1c56 SHA512 8890ba8b04fba2517e60598a1f219b0b56887dba3e01b5ae10b587daefd381eb664bbf482d7be4e6c0fa007b43ec4c637df54de3321603c9fc40452487bbde34
+MKBUILD clamav.mkbuild 3507 MD5 a17e186de27109cddfeda193edeaa907 RMD160 f5a14557b2312cdf17a4e1f0000d622da37402cf SHA1 465e393269a4bbad9f325a7c4695fa488d0a695d SHA256 197a6523434f362681d42ad138194c7b9dbac26aa7df6fe145d3b87e6d61b8fc SHA512 942d7faddcffe5e9664fc2b93e265fda7dc7541dbb1dbb3610066b544e44da3b460766175291f605dbb1ed37016405438b70fe1d168a9aa8ed583ce5455b8e67
+SLACKBUILD clamav.SlackBuild 10138 MD5 f316c037231fcc763c392fc6b687a713 RMD160 d068e703e60a939999701d8185ebb4158371e101 SHA1 a01d3a1e7f98af2bbe8c257a6c9d6d4bb9c98e2b SHA256 f7df7a08df8ef45d708f0babbde9d505dc39865469d4fdc5a1e5ffe3c0d546e1 SHA512 5b52c4d0068ad6e6a1553c480d7373dadada8df039e8cd18cbfd9101400760ccb1a1d187aa1f495a612117bf7aface607739d132091935e20ff3c65cb037eb21
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
-iQIcBAEBAgAGBQJJ81fMAAoJEEHL93ESzgeiznsP/j6sblZEeCbFjQSoaYD12Fkq
-43w+VVx/+VFntfZhunnYx0FaQ2vaase9Va3pxFOVw3SM2PCu7GG3fNGU5RepU24N
-wxQvc6f/K+JUXeNGeaDagg6dV8tYFo9Mt7CjJPwB+rgzN+krQHnHQFdByaa3VEh0
-XlUqWx653Y/wS3EWJrTbLxUGA6Tz9pHgIOi9CpitKXPWVAyfuJObD82JXNC7B0Pn
-8HzwS+VD7lpAELCtHZNFyzehl2YgDJ1el/7DipIg7fz5vrcDRYvRHoYReRc/ZSe5
-9pkWgEShqWRLm2nixFhpjJ7FAx2pMp8RMOfhn8Pg05rZM6hFvCexWzLrJdrpMgWf
-6JKiRQUAK3CUpqV2O0BYhgokKEdqYOlj3Oh8nv8+Q/tu3g0V7Z0oLE+OilSywI/L
-lZJfNV8Q1NBvxxD9cooHvavB3LCirgrr5Udo/EasdE3wsNHxcOQreLWR3kIRbMgc
-TI2wNIHBEac5zZrKwlHvH55ck+YjWKPQ/LiN90ggKRWFDqda1xSmgBoKNq6R5P51
-3cDkl2DMHWtFLjoTHRKgnctMyArUUBwLkfPy73PzYJiloxS5rxpvpEMhftQfKEwI
-q7nIkrmOjPEuusSwYK/RYs9UIazIvhGXg/TAoDKfz3ypEhJy9Ib/Kz4uugCYjD+x
-G0dUk6EyNgCmDElG8fY/
-=xWrg
+iQIcBAEBCAAGBQJKY5k4AAoJEEHL93ESzgeiX1sQAL1aamzL4FczobU+jqJLsrCn
+ZnVue8/iAaXaruZGErTeSIobX3a6D9ww3yuOz4ACXUznrg5O5jHHzxeqf+wQ2vdQ
+Rw9FE1itXM+tcdIX8A5QMYUKNjXPtHpaq3Kh+9I73XBbz3Xd0jU6eN4zNIspsZuY
+oOhaZuT/zfXye7qX4qIS7KqKj9p3XU6mJ7nSS9PciuYNljVy037kOy+v1smTButQ
+eeCKP1xtTaVW4Zro9iEcQJkPsWq0//Ny3AESK7A/2/jtKanzoJa+HD5mGyqxQsAG
+IpSOMuS4Lu2dGTQ5vGndM09Y0YJlQg36VPi/WAornRspxdxzSgKdPokvkGRdVUwo
+XNVAVR0jGFuwqlzgCLQv1c9/9OwsxS+9ChnFqYUoeW9ommsQupZyJJ1nakkMZkup
++atRstdmumNSrRfzu+0sGJIfSu3a0QGf1qB13i8pE6ii7aG2alSFwAKrMWuJ5Bso
+/G6tsXGSqkV5YvrJ26DwyqvOPZy2ZAZkRz8ka0EQEx9iAWpwAZG4do/tvPbEO9HG
+jO6/fMUIVcn1/1Vz+8+EnsMCKlyL0JSkdKzsSWZW6Xrlog1VDLSliLadgtH1tLru
+wEVUP4fkIDOPZ5v3+QrQopuKgqM9KEL8kDOTGwmLgrrm98aSemRsDUdyT5H1TZao
+icnVdKIrYg9JEjYH8Cat
+=MFZT
-----END PGP SIGNATURE-----
diff --git a/app/antivirus/clamav/clamav.SlackBuild b/app/antivirus/clamav/clamav.SlackBuild
index 6133c9ab..dd32a5a1 100755
--- a/app/antivirus/clamav/clamav.SlackBuild
+++ b/app/antivirus/clamav/clamav.SlackBuild
@@ -16,7 +16,7 @@
#
# slackbuild for clamav, by Sivio Rhatto
# requires:
-# tested: clamav-0.95.1
+# tested: clamav-0.95.2
# model: generic.mkSlackBuild $Rev: 805 $
#
@@ -32,7 +32,7 @@ CWD="$(pwd)"
SRC_NAME="clamav"
PKG_NAME="clamav"
ARCH=${ARCH:=i486}
-SRC_VERSION=${VERSION:=0.95.1}
+SRC_VERSION=${VERSION:=0.95.2}
PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
BUILD=${BUILD:=1rha}
SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
diff --git a/app/misc/wyrd/Manifest b/app/misc/wyrd/Manifest
new file mode 100644
index 00000000..aa6ec04a
--- /dev/null
+++ b/app/misc/wyrd/Manifest
@@ -0,0 +1,24 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+DIST wyrd-1.4.4.tar.gz 226757 MD5 a376c05ba614625da06082d850c742c7 RMD160 8478610ab5d071910b638b46f84b119f81826a7b SHA1 86353034316e7d5f061ae2c11f7703912a29fe70 SHA256 154f5cefc86d43077f3c150e5b50a27d33fe7a7e50d7b90f39d16f054f5c570a SHA512 944e76774320d7c0109fdb22c03a2ac100399c2f4bd250c5d8c35eff5a44671b2e7a722c11b59b02bfe3e9b24ab6e3153306139ee379f1017c750b2cc81ccfb7
+MKBUILD wyrd.mkbuild 4865 MD5 634532923f33c7b56328792c8d8a31b6 RMD160 df65da14ee3fd2af8c0782b58479abd431d29f7c SHA1 3132cb65aba720e07ede32322db3b3861a39548d SHA256 2fe7f07c2410d60af02da9094329854b4514a826d9ddcb7fb5ab4be3ee3a9fff SHA512 aff9ba7f34b09616547a4432e118187e87209ff958530b0949981b2c9edd19be49a425ed39a58b46855060b85db26e7896db9f59891a74434913bdba74d99f72
+SLACK-REQUIRED slack-required 75 MD5 cae00dacbcee8463ca1b1bd6fae495bf RMD160 7cf5e067b39c950c572a5137d749a7a0e7443349 SHA1 ee8b2f518d078bc335492c2f2f149cb159ae95ac SHA256 28524767a9ed0a0c641d4e87dd3965ce941663d2f0c0888f1452ed9252a333a6 SHA512 2124432a8c473b81653d40b67b2a258e4507b6453e86ba8e1606be261475b71b940194e6733bf6835c5cb552ed9dfee91fbae8dde8be181341af2c483c26c050
+SLACKBUILD wyrd.SlackBuild 8327 MD5 964c92bcc0d65195e718762fae673750 RMD160 2ad00bf2c263dd260946ad3f8ae1a72357d4bda3 SHA1 ce78f9d39540883398ba77609cd0c2090919b8c1 SHA256 14908d95de71daf54886022e88e02c731765096571650c1380b184362cb69891 SHA512 c05df4d64b997e893fe8394006ac26aa7b4d298f4bbc432110cb902dab65e52e9128448de4b0f9275543197ff8a5f5038f211984fa45d62ec7827a9c4bf64fb4
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+iQIcBAEBCAAGBQJKZIuGAAoJEEHL93ESzgeiUekQAJUZ937qidb7IUjxXGoYD4R8
+nLfhg2J+H3QHWcf2KSEh0d4ACaCYHO2eIy8MPqjdWhroaGaOAMm0ptzDlP08rmPk
+gXVQ1lDU+rSLxQJomBITCoK9jk1PMZ/eRr4ypjUVoKv/ulWuvuh9xP/Rdr4gBw7Y
+8pn2cmCSxwaoaxnjpaOUUuw7yLJ0RRMZ2sfg5vny2o6UuhP2J8qH59YAVerjtVJt
+XkQgWZbtvsmklRnEmHfZT6rsU6L0GTj28Zni97El1Oe3h288HqN6COm7sr1m+lw6
+LavYlk6XPXvrZxYLVdP5TGWA6wu0GtCniQQX1U5zpsVoxVRdefXWerHD5QIGkiU3
+uv6jkTtPcAMjcsvxGJ/Q7eU3vFAWyBQ1a9uVN1tn16udSOJRFtn8w0oUSVPy5aqg
+V7OrilmvBkMmDT2qmfUqKdcxGq57THs4e2+4Of3cCUrykkbUq08gUfZj4rLFUwbk
+PvWWDi+nzSdkspo+VgR4dVWBZM1c4nDWl4p0Rn7O2+vkrRujcD9zJUElv9ZAk59o
+9WQeU58KL9HcSiKRhJ3ntyNg3K/HzuiHqqrRLm4pGN5ipsX2+razgEWsabivnAbj
+2sYd7+2BjF61zarMCv2oKHEo+BU1lSiRI7GsqwO9sAtwoMG3sT2wvXo1Db08f2Q/
+zv1nGe50lfWophxrhbbk
+=dn3H
+-----END PGP SIGNATURE-----
diff --git a/app/misc/wyrd/slack-required b/app/misc/wyrd/slack-required
new file mode 100644
index 00000000..a0a0ef8f
--- /dev/null
+++ b/app/misc/wyrd/slack-required
@@ -0,0 +1,4 @@
+# Dependency list to wyrd
+#
+# dependency [condition] [version]]
+remind
diff --git a/app/misc/wyrd/wyrd.SlackBuild b/app/misc/wyrd/wyrd.SlackBuild
new file mode 100644
index 00000000..7a7984c7
--- /dev/null
+++ b/app/misc/wyrd/wyrd.SlackBuild
@@ -0,0 +1,286 @@
+#!/bin/bash
+#
+# wyrd.SlackBuild is free software; you can redistribute
+# it and/or modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the License,
+# or any later version.
+#
+# wyrd.SlackBuild is distributed in the hope that it will
+# be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for wyrd, by Silvio Rhatto
+# requires: remind
+# tested: wyrd-1.4.4
+# model: generic.mkSlackBuild $Rev: 805 $
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+ source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+ source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="wyrd"
+PKG_NAME="wyrd"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=1.4.4}
+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:="app/misc/wyrd"}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--sysconfdir=/etc"}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mtune=i686"
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIR="$PREFIX/lib64"
+ LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+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
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://pessimization.com/software/wyrd/$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 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"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+ CXXFLAGS="$SLKCFLAGS" \
+ ./configure \
+ --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Compress and link manpages
+if [ -d "$PKG/$PREFIX/man" ]; then
+ ( cd "$PKG/$PREFIX/man"
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+# Install documentation
+DOCS="COPYING ChangeLog README"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+ if [ -f "$doc" ]; then
+ cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+ fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler---------------------------------------------------------|
+wyrd: wyrd
+wyrd:
+wyrd: Wyrd is a text-based front-end to Remind, a sophisticated
+wyrd: calendar and alarm program.
+wyrd:
+wyrd:
+wyrd:
+wyrd:
+wyrd:
+wyrd:
+wyrd:
+EODESC
+
+# Move config files to .new to avoid overwriting any system config
+for config_file in etc/wyrdrc; do
+ mv $PKG/$config_file $PKG/$config_file.new
+done
+
+# Add a post-installation script (doinst.sh)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EOSCRIPT > "$PKG/install/doinst.sh"
+config() {
+ NEW="\$1"
+ OLD="\$(dirname \$NEW)/\$(basename \$NEW .new)"
+ OLD="\$(dirname \$NEW)/\$(basename \$OLD .sample)"
+ OLD="\$(dirname \$NEW)/\$(basename \$OLD .dist)"
+
+ # If there's no config file by that name, mv it over:
+ if [ ! -r \$OLD ]; then
+ mv \$NEW \$OLD
+ elif [ "\$(cat \$OLD | md5sum)" = "\$(cat \$NEW | md5sum)" ]; then
+ # toss the redundant copy
+ rm \$NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+mkgroup() {
+ GROUP="\$1"
+ if ! grep -qe "^\$GROUP:" etc/group; then
+ echo Creating group \$GROUP...
+ chroot . /usr/sbin/groupadd \$GROUP
+ fi
+}
+
+mkuser() {
+ USER="\$1"
+ if [ ! -z "\$2" ]; then
+ GROUP="\$2"
+ else
+ GROUP="\$USER"
+ fi
+ if ! grep -qe "^\$USER:" etc/passwd; then
+ echo Creating user \$USER...
+ chroot . /usr/sbin/useradd \$USER -g \$GROUP
+ fi
+}
+
+config etc/wyrdrc.new
+EOSCRIPT
+
+# Build the package
+cd "$PKG"
+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
+ rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/dev/libs/stfl/Manifest b/dev/libs/stfl/Manifest
new file mode 100644
index 00000000..00551991
--- /dev/null
+++ b/dev/libs/stfl/Manifest
@@ -0,0 +1,24 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+DIST stfl-0.21.tar.gz 41093 MD5 888502c3f332a0ee66e490690d79d404 RMD160 d8b56cc97b4d76adba8034ce9bbae631e6e9d17e SHA1 0313eafa1fe4dcfea1f2edd34d453baaa46df277 SHA256 bf0ead0a66b635602222bc9089414b99f99081b956c92baf77699d283bcc88eb SHA512 c8c2f3ce11259abad66e772c78b7e50fef2cb465807826542250626fef36ec798f7173d63a5647142bddf9feb9afaf2ea2871b0aa6732344b27e538db6fe5b2d
+MKBUILD stfl.mkbuild 5045 MD5 239030bc8bc48e0604955899b866d8f7 RMD160 816462174dc7323ca4704f2561c626bfc2bceeca SHA1 5fb9d46524818dbb3d843ab026f7dcc2d3ec3b0c SHA256 a222986d42f73cd5bd0604bf1d6f4ed3ea3eb8e9e700f6b6dc69af2b71ac59cc SHA512 6161c0f441dad899fa025303a21aa2980a8b93d79000b24dc0d208a2e64ea6fd4f7a37620b5a80569acffb952714fb290a234f27dc8406b37193c0269be0f5c0
+PATCH stfl-0.21.diff 1055 MD5 428bac68230c2f48b7379843b7fb6e7e RMD160 400ec767b14bbdfe79252eb183042e783944f18d SHA1 819333e501d6cc11441093db7169cb8c323e3d4e SHA256 4ac7cc4b98e72850f477a2473ec922b5f03b6875af1430709eb63ba4fbea86d1 SHA512 0441b9bad60af484a18576970c8cf377f7023e55847810f17a2fa537cbb8faa816ceb597bb5e1ab3612928ee2eeaf31049954e34be4c4e2399536305dad24ad6
+SLACKBUILD stfl.SlackBuild 7803 MD5 327f97318da473ddbc001865506532e5 RMD160 b2354d55143c5392f3d39180f7eb2ab13ee361cc SHA1 0553023456f850a41249f13f3897c1ca9af0402d SHA256 63f8ee6fcad4233e48e92c0ea3edd9f8ac7975990d7ea183f6c6688b4e61024a SHA512 5be32237b64704c71a9a92a68783645848c2fab825c81312b3084ce950e6d824c515218f8f88da54fcba5a1d482de981e21079f68ce7f6fe56082906640b1c79
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+iQIcBAEBCAAGBQJKZKASAAoJEEHL93ESzgeirn8QALmu+XKBoISXvDH7o3muSilO
+URv7lnMLPYYuxn/5Y4kgNnh7/TNMwtwzPc+y/R9qfqN4IfZVQvsCeHL0vyUH47MG
+pOEA2Ex14QtOgAJ7yzTQRJxcSDlV9fXzPWxf4+y/dTUNA1msR81yE1wwGR9v41ak
++fuuh47PNaBURHtmtAU4RIX9gF8NUkdHvGZ1tC5zIvW9WEpEa7IUhWKNm63B4FOT
+Bz2MMdCVlCiWWGWk05SGnX0ldmr5EVgy5tyXbWEVu4AYahVINv2Vj7iNprh+4lSH
+jCj2zznIwfdfk28UBpaC0J6676xkEYNMH19AosBJpmD1GVG0VCjZGeDCHywfWSt7
+uuLZN0ToRPK306d/Z+rTukvrddijwsdvHuEIDo501BvnQKafUzApP52JHLYaYvT0
+tAvJYZml+4V39zZVcBdBpw6jk6gbRoibxPIHDHM4BuhtM6MOIAa0YStKGPmawiEV
+SyTRA5pTZcPlVcDLEFdPiLQpUGUfBxC40UD+hsbw/hz11iVwlCoSghMvlGDK4/KY
+mNxv4oIrJXAg9nsNndvE3nWdKh/HEj1oXkYsJ180F3BZV4SA7MHmqMLg+RC1f0PB
+nF55iZZBhhh0TBKcAvmkFo7BpP6LZd0daKeWOF7xeLDWIT2FnQoRw3QLN+xZPcIe
+hmYda15EsZsUW0q1O285
+=QQA2
+-----END PGP SIGNATURE-----
diff --git a/dev/libs/stfl/stfl-0.21.diff b/dev/libs/stfl/stfl-0.21.diff
new file mode 100644
index 00000000..f549de89
--- /dev/null
+++ b/dev/libs/stfl/stfl-0.21.diff
@@ -0,0 +1,24 @@
+diff -Naur stfl-0.21.orig/Makefile stfl-0.21/Makefile
+--- stfl-0.21.orig/Makefile 2009-06-19 14:30:52.000000000 -0300
++++ stfl-0.21/Makefile 2009-07-20 13:13:43.000000000 -0300
+@@ -22,7 +22,7 @@
+
+ export CC = gcc -pthread
+ export CFLAGS += -I. -Wall -Os -ggdb -D_GNU_SOURCE -fPIC
+-export LDLIBS += -lncursesw
++export LDLIBS += -lncursesw -liconv
+
+ SONAME := libstfl.so.0
+ VERSION := 0.21
+diff -Naur stfl-0.21.orig/python/Makefile.snippet stfl-0.21/python/Makefile.snippet
+--- stfl-0.21.orig/python/Makefile.snippet 2009-06-18 05:27:16.000000000 -0300
++++ stfl-0.21/python/Makefile.snippet 2009-07-20 13:14:02.000000000 -0300
+@@ -27,7 +27,7 @@
+
+ python/_stfl.so python/stfl.py python/stfl.pyc: libstfl.a stfl.h python/stfl.i swig/*.i
+ cd python && swig -python -threads stfl.i
+- gcc -shared -pthread -fPIC python/stfl_wrap.c -I/usr/include/python$(PYTHON_VERSION) \
++ gcc -shared -pthread -fPIC -liconv python/stfl_wrap.c -I/usr/include/python$(PYTHON_VERSION) \
+ -I. libstfl.a -lncursesw -o python/_stfl.so
+ cd python && python -c 'import stfl'
+
diff --git a/dev/libs/stfl/stfl.SlackBuild b/dev/libs/stfl/stfl.SlackBuild
new file mode 100644
index 00000000..8c683af7
--- /dev/null
+++ b/dev/libs/stfl/stfl.SlackBuild
@@ -0,0 +1,246 @@
+#!/bin/bash
+#
+# stfl.SlackBuild is free software; you can redistribute
+# it and/or modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the License,
+# or any later version.
+#
+# stfl.SlackBuild is distributed in the hope that it will
+# be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for stfl, by Silvio Rhatto
+# requires:
+# tested: stfl-0.21
+# model: generic.mkSlackBuild $Rev: 805 $
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+ source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+ source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="stfl"
+PKG_NAME="stfl"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=0.21}
+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/libs/stfl"}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mtune=i686"
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIR="$PREFIX/lib64"
+ LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+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
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://www.clifford.at/stfl/$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 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
+sed -i -e "s:export prefix ?= /usr/local:export prefix ?= /usr/:" \
+ -e "s:export DESTDIR ?= /:export DESTDIR ?= $PKG/:" Makefile.cfg || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="COPYING README"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+ if [ -f "$doc" ]; then
+ cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+ fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler---------------------------------------------------------|
+stfl: stfl
+stfl:
+stfl: STFL is a library which implements a curses-based
+stfl: widget set for text terminals. The STFL API can
+stfl: be used from C, SPL, Python, Perl and Ruby.
+stfl:
+stfl:
+stfl:
+stfl:
+stfl:
+stfl:
+EODESC
+
+# Build the package
+cd "$PKG"
+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
+ rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/dev/perl/perl-array-compare/Manifest b/dev/perl/perl-array-compare/Manifest
new file mode 100644
index 00000000..e809053e
--- /dev/null
+++ b/dev/perl/perl-array-compare/Manifest
@@ -0,0 +1,24 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+DIST Array-Compare-1.18.tar.gz 9266 MD5 ebca871a2e9c37b389232a6be6700373 RMD160 d22c6b08c30426e2bc1a5becc6fc982386ac22ba SHA1 2f802816f55b3a8715d9dbe653a89b9c2b0003c6 SHA256 909660a73e447c78c2b01fec3e401bc5ee3d521043a7379619e8ae2457c87b7d SHA512 8950056b3bbfdbed835e560e9f488c2ce385640ae6c2a737cec1ac2eb6281faf00332646215de76df6b6477805b226cfc86f14a7b60abfcdc003b4e90414a854
+MKBUILD perl-array-compare.mkbuild 2471 MD5 b38cddc6607f3206f207509bd1e5a8ed RMD160 bef050920483429454bc779e1ecfe9b981e614cf SHA1 c8a80d6cd55480c96e8aeb34dbae132a2ac043f2 SHA256 8a2f4555896ac1183317c12cda75b2f4778180859f6e11aee8000839867385c9 SHA512 2f15687f13454367cde2e911245ff701b3e6e2cb698eb837c72f1a800891d0100605b6c8c0a972f4cc958005e5021445d86354448f68553ff13f59a19df828af
+SLACK-REQUIRED slack-required 95 MD5 eda62edb65b9f3f69ae1c11bf24b7818 RMD160 8a8040324799a7c3fba3c6910a77d86893bbc502 SHA1 884acb8cd90b68c894508c53cc1bf66f32ac13d5 SHA256 d8a8c840b3d5c642f0938a54c78bff5c0b9d8d6380dd25642e1620277f03d0d8 SHA512 7fe7d4119a3a492f44d90430737a9ea39803e78a94331d34952a1612311df31e16f9130a09aa6d2ca5050f6daba27310832577a4baef2661315c993b9001a006
+SLACKBUILD perl-array-compare.SlackBuild 7230 MD5 fa94d7cc5454a3bc4a047e10a42cb5e1 RMD160 3f3d60d455aa75e2f3fa8a3e46450b0ddb96b2a1 SHA1 488a581abb26898afbef1d39205260b30fee608f SHA256 49eacd8bd187e9400c17df35f891368f495d3a645a33281a341905992a7ec2ec SHA512 973edeb8b7f21a6ceb5ce65dcf8c3424406d920d038624365d68d223192454257a012d059d6fd04070a081e7497ea6396e47b2cfe3778aad5e67b113024fc8f1
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+iQIcBAEBCAAGBQJKY2E4AAoJEEHL93ESzgeitvcP/0ODzUT8sYxD4tLlz3z4jWjI
+Ml9MzYtcfM6qtMpFi4EtF/tk3YyeNe1Zho75WOIzHgeRGgjgB1gpF7rm1FCjQEh7
+HxHUX4ED25sBGnrxnDBCYGvJlTHKIuJOQlwMgMvL9lOfcTYfpMoMLJrDIBIEt15y
+InA1vX04HWvf12E0do8OInTWf9y5mvHWGXe9Zec0LX69ECZvOsD4399HZn2RHr8F
+1E33FDGuGhT3QtFRhFi4eP9GUWM0n/eCyqYYFESXqzfRZEs+t+Bhn5b6+k3+n0ug
+A5eCQEDNjDf8cYfBsc8ZB7/jUHHk0M2nY2DxbWm+7vA+DfelkGVUuQ9HFvk7EFvk
+BlQfi/MzOoiaM4RisrGDTF51tcpdaMlLY8oecxuZeFdl2O5S5EycBsuOSTgVsXBX
+QlwPb+a1eDuGB1AHrnap6XWuGpMngcO+5bqEVl7/8X60b3tJ5MDyLrX1gkpL2dU1
+Oo5ONWOeS2YG00a6vcypwnZ/usZg/dJR0jDYqQT6m02ETR197sKQUVS7Pdg3DKIb
+esovSD73kVyr8Y6vhn0dLdJagZIm4QXMIyFukP4sJaEKMPRBrnhCr7dc4KkI3l6n
+W9SozQl+En2jaq8EAtjvE+uk5MZF0bxCl66CRPpVMJLbcc5sM6xHXV0BU6PucNjN
+p2WmzvkakNzMGdjqNeoZ
+=1SjI
+-----END PGP SIGNATURE-----
diff --git a/dev/perl/perl-array-compare/perl-array-compare.SlackBuild b/dev/perl/perl-array-compare/perl-array-compare.SlackBuild
index 07fd53df..fae359bb 100755
--- a/dev/perl/perl-array-compare/perl-array-compare.SlackBuild
+++ b/dev/perl/perl-array-compare/perl-array-compare.SlackBuild
@@ -15,8 +15,9 @@
# Place - Suite 330, Boston, MA 02111-1307, USA
#
# slackbuild for perl-array-compare, by Silvio Rhatto
-# requires: perl-module-build
-# tested: perl-array-compare-1.15
+# requires:
+# tested: perl-array-compare-1.18
+# model: perl.mkSlackBuild $Rev: 796 $
#
# Look for slackbuildrc
@@ -31,13 +32,14 @@ CWD="$(pwd)"
SRC_NAME="Array-Compare"
PKG_NAME="perl-array-compare"
ARCH=${ARCH:=i486}
-SRC_VERSION=${VERSION:=1.15}
+SRC_VERSION=${VERSION:=1.18}
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-array-compare"}
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
@@ -83,6 +86,72 @@ 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
diff --git a/dev/perl/perl-io-socket-ssl/Manifest b/dev/perl/perl-io-socket-ssl/Manifest
new file mode 100644
index 00000000..0c75be97
--- /dev/null
+++ b/dev/perl/perl-io-socket-ssl/Manifest
@@ -0,0 +1,24 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+DIST IO-Socket-SSL-1.13.tar.gz 52531 MD5 a115444511320466e63a26b351b91957 RMD160 a984018c083964214e0c53cbbe728d0071b9cb94 SHA1 6c25cb636d0252b280a4f173ede19ce6d29d4a42 SHA256 c5cdddf5eb8a1ec263359626d2fb33f29c49cd833e9d19648691663252745344 SHA512 ab2120e66252e44294682bdcba4d4a0555fde127b16f0d21f60ed525cfcb2bc67c658788d6e19d3700b5174cf8d8945444995ae00b582afb6775d0623ed99551
+MKBUILD perl-io-socket-ssl.mkbuild 2489 MD5 4fd9cbc92312e51af36b29c4929acaae RMD160 bab74a18d4493b3dfa5dae037a4ee672c6c295b2 SHA1 5b45c89b4ee0e077e70d923a84cf8541acdebfc1 SHA256 b5393879d8c56e6ce7f68a246b6fa436da2d0e5417aba6cb40e85360e51e3ea7 SHA512 f708c89757c36f52641614afd8b531e7fa1010f0283cbb5df91c6bfc8cf0a4ef6dab5e0cb51e17a3fd2e3577b1f61bbc9980a71b738e4421b356efdba1ad4893
+SLACK-REQUIRED slack-required 93 MD5 6371ce5b69052f97cf0685f28e20f200 RMD160 7a2c9c6a9d6d963d78141f6fbc21d0b2c4fe1499 SHA1 03832142ef069d53f614eeba274b0d28f8e63b95 SHA256 1234eefdf2ac1e9c2a0fbc322c401a259e49c0ba087fa50926337c6832efe869 SHA512 438dad7846fe49f3ef272232f903a43368a4d8abe42abb0aec23d5909246f0f0a4982998672c79aebb36618a291c99e5a4db136c4ad14f59bde9649fa7130f86
+SLACKBUILD perl-io-socket-ssl.SlackBuild 7247 MD5 54322b63b7cf582bc7b7d6b63bd2357b RMD160 d92efdc296918a01524be233c9ff4bcf1d751f78 SHA1 293ccb60da07a11859db109c5540534649fcfb13 SHA256 0b1c9add5291d55fe3cf938e7c5de1731956571e40b751b59a6c9d64c53ba387 SHA512 e1b5abe8afff18762e75ab8030abae442528d6498155a69f045371301c233108f439571a09856bd2f3bf2ca8899914360f575f9282a4c89ce834e5b9636ea7cf
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+iQIcBAEBCAAGBQJKY2ImAAoJEEHL93ESzgeiqoQQAJ1tj1e10o7hGjuhubaxhiCn
+h6XV//maS1p5na5L+DgpnqlTHwP5Itc9CJqhN/B1u0fLJh8TtUCLyKm/kQnvZOnn
+tQt6wXMVk1SnzSBISfcZGNC/VBoqJROcWCksonr0O/39PP+z7FM1kVeS5/QzQZih
+BaoMtINQY7ZUYy7NNT+2iHjRkjrEyX+y3SXI6PLRJMiPs1kJsLi83uf+OnsxoKQF
+JvQVwfxjZb3/wWO59wfWVuL5yQcy7rJgy7LBF4paiBcE5fozR/Z8bVWCBuGAlCGQ
+qGtrXPf9Ej0YuYJxJZHt5gfVPkJ6764YJtZrDWyKpvZvopdB0Nlqc8x5LXhVlTWJ
+t2ajDiOK7x4zJlgbd4PUHtxYFL7GCJF9wM0oJR+nJDW0AxhOCRRD+jxyCtU23M7G
+IPzUpw9o0cEJg879HJHp/LjP6yVZM9fTnVM/6QR6VEIT7UOsmp+d+Zz5rUTi72ZL
+3aqx8I6fWgYhshTehIFyYtKHVNsNQYPwPSuvSb/yXEptPp0mpySbfEySLqxGIwoN
+V3DV4dAwL/uRuVhXJO0znN1/lu/FE3sbUO7oVqBLDV3oXRE6h6XmDJ/jDVCNOR+v
+5pc19gJqjg46iWykN/fvUNpS6t+kGOauYMCrVjPXlQ+o2H/2HsH2XvS1Q48xou7F
+T/MMdLdgql4crkH+Klhn
+=h4Jp
+-----END PGP SIGNATURE-----
diff --git a/dev/perl/perl-io-socket-ssl/perl-io-socket-ssl.SlackBuild b/dev/perl/perl-io-socket-ssl/perl-io-socket-ssl.SlackBuild
index 88b76c77..3a8dfd8f 100755
--- a/dev/perl/perl-io-socket-ssl/perl-io-socket-ssl.SlackBuild
+++ b/dev/perl/perl-io-socket-ssl/perl-io-socket-ssl.SlackBuild
@@ -15,8 +15,9 @@
# Place - Suite 330, Boston, MA 02111-1307, USA
#
# slackbuild for perl-io-socket-ssl, by Silvio Rhatto
-# requires: perl-net-ssleay
+# requires:
# tested: perl-io-socket-ssl-1.13
+# model: perl.mkSlackBuild $Rev: 796 $
#
# Look for slackbuildrc
@@ -38,6 +39,7 @@ 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-io-socket-ssl"}
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
@@ -83,6 +86,72 @@ 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
diff --git a/dev/perl/perl-mime-base64/Manifest b/dev/perl/perl-mime-base64/Manifest
new file mode 100644
index 00000000..b2263347
--- /dev/null
+++ b/dev/perl/perl-mime-base64/Manifest
@@ -0,0 +1,23 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+DIST MIME-Base64-3.08.tar.gz 16429 MD5 b898218bb588360b34d13c162299a17e RMD160 714f635ce3164eaf12e76ab1fe3abf99b7510dcb SHA1 5e292446b11ae68eb9809609abde67e53fb5fa15 SHA256 b13ec98c03b168ca28c9390727a9edcbe2c5d489ff2505a7eb20c5cc1c72410d SHA512 0c2fae9a3d7c1cb79ac21922c44a8302770bed498d8f9a46f669de9b2de19719c4e4b871561b0082346ca6acdaa97e4a94ce7196aeea01185a97bb1e1e7d1df8
+MKBUILD perl-mime-base64.mkbuild 2357 MD5 780066b21c6e81a7af90e6b311dd7f63 RMD160 4e510c76519e95be1e6ce872055e98b3acb2b8e0 SHA1 6a77cc8740d23e96c90f4bc8f9fa347019450de4 SHA256 5b4c5159482ce2850598e7064790c526a199cd6d188d14085987b7fa3751dac2 SHA512 f90c3c6ac229195f36da7f6318a18884e2cb054d2c5a30e356d2fe57900004cf70102452774cb717930e405e8e3990af3ced4eb338a8ec67a4fd11f80758f177
+SLACKBUILD perl-mime-base64.SlackBuild 7044 MD5 2032a2aa369fe4378e29924b3c463969 RMD160 2e8c839bdd2576b92afe0155208943638c68d6a6 SHA1 56ee60d64b936bcbe527e144743cc6d4083b196a SHA256 69a598ee34fd8fec253a8b1d3ac869f1cc259bdf31f15588e5062fdcbe97b870 SHA512 e43354cccb58b3acab5b0d9ed68b082404ebd14555242026be7fb661c524906e69209f2a218ba855a337e656eb065e3ca12c6c4b031895c20a8fdd2fae9696c9
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+iQIcBAEBCAAGBQJKY2HUAAoJEEHL93ESzgeiW6EQAIPd5ue32pfYdSGwUzz3FbXa
+13iuvQ0h0dVXDGCrSJcfMfcQZgSOqwBiNucDBdKtAdTYl3aITddQh5Qkk1xjNDvw
+1QIWmKypJiH//s5+kAyshh4LCU3DfAXqC62D6FgWNK2lhR8OOBi2i9G5IdyyxZDo
+/x51m24DpbQxXMiOV+2GEYqQnUCHE92Y6J2Jf+eJJ+ivu6EAvc7vk9Pkq5ie/e3E
+wfroNe56V9FAvdY/l0PJq9k4rlPmIZIq3MDgbtF6oO8mGjBvx4/3tIXR0hSH3igi
+Xzlz3AZiJQX9HBfh96mjqYGVw4aJbXGEDdz8+NF6FnEUyzk5gxx2RMyebBhGaFfk
+z+JDkVYpEVJ0ZkmvsP0MnXZutXWK41veZO1z76eLzYZE3lPxuNzqs0VM0SK02U1V
+ScC7WgR2LhAfRNc2IGoMHvkwisdDIrdBKka3mMUGIL9PbkJmyefTQql1wl9TU/F9
+8alaVbCB13aNAAHpi5ehF7UhrLM+Fmwsx0ixVlZk333VqKT4x9o7c+l6EIvSCaI7
+RPz6jUnn2n67NUb2PgbCALzO4gUmmfGBN7Hag6Szrn0Bos0rsH1vb/Q0OBFMqnrs
+ha7Vd2sPTpAAnmXTin6eY2YIA2YvqH19J70DnqKM2GND7efYte5Er2NTbYrdyr7o
+bLHEz8m1IYsNNWAm3wBp
+=ZHka
+-----END PGP SIGNATURE-----
diff --git a/dev/perl/perl-mime-base64/perl-mime-base64.SlackBuild b/dev/perl/perl-mime-base64/perl-mime-base64.SlackBuild
index bdee9c1c..6ba6d7bd 100755
--- a/dev/perl/perl-mime-base64/perl-mime-base64.SlackBuild
+++ b/dev/perl/perl-mime-base64/perl-mime-base64.SlackBuild
@@ -16,7 +16,8 @@
#
# slackbuild for perl-mime-base64, by Silvio Rhatto
# requires:
-# tested: perl-mime-base64-3.07
+# tested: perl-mime-base64-3.08
+# model: perl.mkSlackBuild $Rev: 796 $
#
# Look for slackbuildrc
@@ -31,13 +32,14 @@ CWD="$(pwd)"
SRC_NAME="MIME-Base64"
PKG_NAME="perl-mime-base64"
ARCH=${ARCH:=i486}
-SRC_VERSION=${VERSION:=3.07}
+SRC_VERSION=${VERSION:=3.08}
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-mime-base64"}
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
@@ -83,6 +86,72 @@ 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
@@ -148,9 +217,10 @@ EODESC
# 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" ]; then
+if [ "$CLEANUP" == "yes" ] || [ "$1" = "--cleanup" ]; then
rm -rf "$PKG_WORK" "$PKG"
fi
diff --git a/dev/perl/perl-module-build/Manifest b/dev/perl/perl-module-build/Manifest
new file mode 100644
index 00000000..dcdac718
--- /dev/null
+++ b/dev/perl/perl-module-build/Manifest
@@ -0,0 +1,23 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+DIST Module-Build-0.2808.tar.gz 196525 MD5 b8e457b1a4b72c46bcec3d9bce87329b RMD160 eb156aef5b9bef9b56068abeb29f2596c33f92ec SHA1 cee04451c269a6f2fe09fb028423b7f829584e05 SHA256 1b49bb26aef78c4a90bdb01c0ece4b033cf6dac2ad5e95e8211b59f188bb1fc1 SHA512 a2830956a494cdb975f535eba5624d68d53079f27e74c617ec41467a1ff4ac60597becc4a08b1191a0d45113bd9c91032fbe1c117ad86afacba77c7ab7c005ec
+MKBUILD perl-module-build.mkbuild 2370 MD5 6972ddb97204f8d86e0c68dad51e3219 RMD160 20e3c4d3cd09d7c5ad9606211ee849cdfc102f86 SHA1 ec720b27698e5e5a76407d18baec894e484002a5 SHA256 aaa477ec2824189a684afb3104c3397e3645331187da325a6f38979296efe19f SHA512 8f3eed823c6874c0b702c8fd6b05f7a0809857fa368cc314d9495f4ea18adfa6d5f1a50b729a4eea45c76138cb605a53853cc867256d96ff6cfd727923c4ec2a
+SLACKBUILD perl-module-build.SlackBuild 7063 MD5 f1c367dae5296fd1168aae81a2677a3d RMD160 0ecdea255aa6cd4238feafd5fad595f47c904eeb SHA1 45a358907cf465ed988639829e821cf842ab61a1 SHA256 137cd1c4a9223f85ea964d897745902b408ad92388b5bd5fae52538f727b89b2 SHA512 4e0a84bd9ca59aff4cd81ce8257e4504dc8476489cbbd4df9a452404cd4c45e6e088b61370c90a41ea16a101d621c14e7ae7106852b4d7afd4c248730c79205f
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+iQIcBAEBCAAGBQJKY2C5AAoJEEHL93ESzgeioSYP/RtIxMbtGBXO5meWSYVHMv+E
+mYadvF2Nf+Rmhv1rsdjfHjSXnco+8e6xjyxr5S6+Lie/7jCCxDe4X5ny5tgq4Z29
+LVQzWIL54VkRzLUJJWTrQVhni6V+KxLt6vWtF+G2olsihnr2iREQwSFiyLpzh0V6
+57iRnxoPOFUQsqAe3YrxTQX9u6ofeXmhS9vScPmFAOofmS8aAOxeo75v/Vgp5iWH
+Ndszw/eiCjaLKBPsf+tZq6jhJYncM0LA3BtkeuSL7KPbVUpsjIzK0VEb6B18/l+r
+/FCPRfClUZXqklnFZnodtoqbr1wH3THBZzZV5nxY+8jnu3oqEzDkRVJ46SGdp/Yu
+o3w3yZUKr8rDAAh+PTfZzwVQd+dLTi9DttmqYomdGaA5SKO/7YBVUwLJg7ZWFxM1
+Wu9VGtKKGGLNfgmu9kcE6mAGu72UQlopbnf9rC8KxWjNZ90zFQTAFZrT7Z3GJnFi
+Qjz5u6Pp5vPLF5UjngeGPXWQXqEC06r41U9rPpnLHGvGn8P/VahaOGZPMqAzpmmO
+bldKHI44O5TQzqxpy4GLcTWfo0CRCySCOarnvMZM3nQL7YgeWTp70dOMaZxR5wOv
+x1cfnQgFk0uKvcO9Kkmoz+Mangtg5Nv3V4bc+zQG+WQWQax1YCrXX4e9iV5svlG6
+v0VdwNSRvtaps9tWk5si
+=jzUM
+-----END PGP SIGNATURE-----
diff --git a/dev/perl/perl-module-build/perl-module-build.SlackBuild b/dev/perl/perl-module-build/perl-module-build.SlackBuild
index 9d410c20..0b64b63d 100755
--- a/dev/perl/perl-module-build/perl-module-build.SlackBuild
+++ b/dev/perl/perl-module-build/perl-module-build.SlackBuild
@@ -17,6 +17,7 @@
# slackbuild for perl-module-build, by Silvio Rhatto
# requires:
# tested: perl-module-build-0.2808
+# model: perl.mkSlackBuild $Rev: 796 $
#
# Look for slackbuildrc
@@ -38,6 +39,7 @@ 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-module-build"}
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
@@ -83,6 +86,72 @@ 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
@@ -148,9 +217,10 @@ EODESC
# 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" ]; then
+if [ "$CLEANUP" == "yes" ] || [ "$1" = "--cleanup" ]; then
rm -rf "$PKG_WORK" "$PKG"
fi
diff --git a/dev/perl/perl-net-ssleay/Manifest b/dev/perl/perl-net-ssleay/Manifest
new file mode 100644
index 00000000..39877ffb
--- /dev/null
+++ b/dev/perl/perl-net-ssleay/Manifest
@@ -0,0 +1,24 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+DIST Net-SSLeay-1.32.tar.gz 130187 MD5 3e0918a7101633f06cfe4f7ca005917e RMD160 61403a7529626f6c562790c034659af98c9e29e1 SHA1 e57c6c36f0df7bf211c435a38330de2e93d141bb SHA256 8e7c1ec68ea3a0ac41780ef150bdb8a8b982f46066c542a9a39fe395a88344fa SHA512 a568ada1db3877a2f67e41bfe7c2853b044b459a8d9a881a307a4cff3c230eca9e8b7b0d97a864eea415a1967ff75f10f6d64dd6c023e2ef0803c0e70beb4093
+MKBUILD perl-net-ssleay.mkbuild 2425 MD5 08aa91cb9dbf58d5c7dd4fe8d2c24100 RMD160 f5787dbf8d2f746995e345fb594da99d29876a12 SHA1 e274cacca334d6abbcee5b46403f7b68248fa479 SHA256 d60460eacce3a899dff89b0dfefc9a5e869c2fe493e00a15c7417aebc295ffb2 SHA512 e587846a6b638853575c4a1c3c25fe2c3f6e12261831689dd222600276b8cede31f9e2616aac11d8287c59d42604851be2b8879f953d74f1199fbfe8ece6cb76
+SLACK-REQUIRED slack-required 201 MD5 3d2bd651830382cc8d9ac6cf4eb93e21 RMD160 3490e60f2be22418bf6bf853643bd7c417927574 SHA1 40c3ed4426bb68913fcba558b1664eb165d5f22f SHA256 5251e9c9541c8c2a1a27fa089bda163020105294ccee1f1040be9dba48271626 SHA512 4848f81b04d0f48f38100c73047573f01b69c04ee60f698903e8c9a2d290f598ee85dc09a8da500ba5a2cf423cfb8702cf3262775964077f49db4bc28d7506f9
+SLACKBUILD perl-net-ssleay.SlackBuild 7175 MD5 d16ad59a3e94f648b333206eada48660 RMD160 0d37c970f9f5d51a51eb11fc0d9a211a754f450e SHA1 7ece492d9eddec192f99fcbca4ef2a72942b62cf SHA256 1136f172898b5dbc3d7fa59ac9cb4e5e37b7ecf4fab6567c0c4f5c6244403200 SHA512 a5c2a9b937490b6c0504f79264353be0600988f251adfeb0da62d82ff47e83c4c041ac6faa0daa95fe14e115c7f84d3aec5e757a9b916d9b416e4ecc74dc7bfd
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+iQIcBAEBCAAGBQJKY2H3AAoJEEHL93ESzgei3k4QAKlwXNjWkaZrXQua7C/stTxH
+9qdae9jD58ZXttEenpjtTagRRMFdqs1vKqcycUAwyTrOeguNqCncrstUyJ3voH1Q
+cto4wFiRTpfBBYWGgzL/p5K47TLwVFF0Ana8AaqKz9xE0CXy78u1I/V9C2thVihP
+/mhS6o4QU+XTU6K93HHiCm63RRFBc7UAWI1hmyafNYi+MGTlOCA1d0bJtSW2Fej+
+mpKqdwu+YyWwkVgoDXpQm9VcNDsitbkiQo9Xn2RYhST7C6GxFLpqK3Cc2opG0n2U
+pO9nIr2HF+MOkMxtrNmToIIWQK1JffG7NsxjZPLE4w69dXuaO6ecJ3pgFC0JerVV
+GM0JccP6MJWzqdPULgFLz8IQKAJM0wwB0E1O5Wwj+9Zq8SHUFJVBbCn4NPeGt77H
+uMJkpLCxIwnZAVekB5RrDJ6iJ7LLkt6ObUq77k0HjLBSYUSoDwzXygv5THnavsDk
+W6Zogdmvh4CGKt62UST6DxkTBtoBWZBDjrz0j953rRHIpCMH5KXoXHUK0aC8q4rD
+a1H0YxyXe63atGLdyEdPcqbiG2A+LnA1hhGyVYyIeHTYwZ5Q4GF5RDxlyxpKldOC
+pf2SGE5OYRGafEDOHvfmDSPYQCc5zH64HPbGZ6GL9YZzBuWZalmNo2oP0N2W0wuT
+ughFUBVDdbgYJB2bmvwQ
+=gjMc
+-----END PGP SIGNATURE-----
diff --git a/dev/perl/perl-net-ssleay/perl-net-ssleay.SlackBuild b/dev/perl/perl-net-ssleay/perl-net-ssleay.SlackBuild
index f9e41ba5..a8d79c09 100755
--- a/dev/perl/perl-net-ssleay/perl-net-ssleay.SlackBuild
+++ b/dev/perl/perl-net-ssleay/perl-net-ssleay.SlackBuild
@@ -15,8 +15,9 @@
# Place - Suite 330, Boston, MA 02111-1307, USA
#
# slackbuild for perl-net-ssleay, by Silvio Rhatto
-# requires: perl-sub-uplevel perl-test-exception perl-array-compare perl-tree-dag_node perl-test-warn perl-mime-base64
+# requires:
# tested: perl-net-ssleay-1.32
+# model: perl.mkSlackBuild $Rev: 796 $
#
# Look for slackbuildrc
@@ -38,6 +39,7 @@ 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-net-ssleay"}
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
@@ -83,6 +86,72 @@ 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
diff --git a/dev/perl/perl-sub-uplevel/Manifest b/dev/perl/perl-sub-uplevel/Manifest
new file mode 100644
index 00000000..18ab0373
--- /dev/null
+++ b/dev/perl/perl-sub-uplevel/Manifest
@@ -0,0 +1,23 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+DIST Sub-Uplevel-0.1901.tar.gz 17417 MD5 cba75a803c3931d6c2252ad97f8f2616 RMD160 4abcccf1ca259a2f32fbbab51601bf783874ece2 SHA1 03abb82f2bffaaae3e22b7dd60b91bc5e87fb8b3 SHA256 d8f12ef0768f467b2ca2767c5b86e97942f8a37c43b30e1b4b947228a3c78602 SHA512 c90eee0b949ae70dca70f26e5e4d0d12db33dd724ad411494478a2ee26ec9291655a9a5e2db213b75ea8bc429089d07449c96701be8ba1a8b208360fd6bb240d
+MKBUILD perl-sub-uplevel.mkbuild 2373 MD5 3bfa58067c02e98da7cf6898cc405684 RMD160 36cc5a3d476dae97920ef8bd77734a1b532651bd SHA1 d4fd6973329c1841f698cf082cfd14f66dc0dc7d SHA256 e280c2524acfe87c9169e7bc930d911be45332216acc422a8d8c9de5fb543e30 SHA512 d921f917a5501f85f1d5ef919708a8b7d3cbfb6f3083a4c8eb8e38ebba5287ec5cb5206940b642322f4758759dca577bd51fe5caf54387ed08667459529b2ebb
+SLACKBUILD perl-sub-uplevel.SlackBuild 7062 MD5 ddfc05515d160ea2eb2718c5b1484d08 RMD160 f6922f1451a1a182b407f813cfbe2e4cec981481 SHA1 97d4263635e9fbe5c6e63b47c76b8abea419408c SHA256 a7bbd58302f4f150d6e552dd37509091bd7b0357c7caf0cecf466e33c89975a7 SHA512 2cb7b50f132d77c53e59cc73e3b4e8a71dc769f870b194c9406191ba4a0e8ec64f4949771e21864a6807bf54ff6301d41e6dafd20c29e324ada62476effb6344
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+iQIcBAEBCAAGBQJKY2BeAAoJEEHL93ESzgeiUDwP+gKK/JwsWxnZEfUkqzosfa5Y
+4I/m7O2jCeD0pJFqyQb/HNlNoeF4hVi1E/jI3bdNtwovtLnuZZ8cgXsRrZEW9Cx8
+XA75jQYazF0VP7uE+ioyBKybY7Muc/gTGzvwedG/caZ251g5PHhkkpko7R0crRCN
+fV+0AFG2O0WtsuDx/bxwAH/MF2Fh0hcQ7La9oSeq/vxmoHn9pCd7ttk8+lBVyRPh
+koR24K/cZ7UA0OhbnXeEe4i5JWDy/7Z/zexOATnNbZOqGsLn9P0vRQ7frxCsTCAz
+k4HG1sF4ReHOcdVU7Tn92pUR/7ToChZyZVjlwm3ncLW3+mdv/v+CI6iId56/RBLq
+5tTx/E8tAgUayzIAcoj+iL6aDR+hfOWeF1joGTSolmkAzhm63UPgO/OXhBttVnNd
+WqO1/SDWASmsCNiv1zt730V7mfnpgkhARlYino5brMvFSuhK3WrLqsH5jtOedHLi
+EMRN967YV2ibQX5Y4pulCFQlvSATHUOKttCLTM7Lcv/bQ206p/ShMo7v9WAWZO0J
+T1vrAZQYnTN4a0xbxdv6w6+RQraMfEyonVYKfw8iiyqnK3nlZej8dPM+pqI4Wuv7
+HuNtyKxMHgK4IQ7pEIXMOMA93dcDjswoUGSFFtZE+pTYsKtVzKSHOXnV6F4vpxEs
+tcz/bo5tR0Ea89DU9Vrf
+=4u4m
+-----END PGP SIGNATURE-----
diff --git a/dev/perl/perl-sub-uplevel/perl-sub-uplevel.SlackBuild b/dev/perl/perl-sub-uplevel/perl-sub-uplevel.SlackBuild
index 9666568d..ccf8cdda 100755
--- a/dev/perl/perl-sub-uplevel/perl-sub-uplevel.SlackBuild
+++ b/dev/perl/perl-sub-uplevel/perl-sub-uplevel.SlackBuild
@@ -17,6 +17,7 @@
# slackbuild for perl-sub-uplevel, by Silvio Rhatto
# requires:
# tested: perl-sub-uplevel-0.1901
+# model: perl.mkSlackBuild $Rev: 796 $
#
# Look for slackbuildrc
@@ -38,6 +39,7 @@ 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-sub-uplevel"}
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
@@ -83,6 +86,72 @@ 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
@@ -148,9 +217,10 @@ EODESC
# 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" ]; then
+if [ "$CLEANUP" == "yes" ] || [ "$1" = "--cleanup" ]; then
rm -rf "$PKG_WORK" "$PKG"
fi
diff --git a/dev/perl/perl-test-exception/Manifest b/dev/perl/perl-test-exception/Manifest
new file mode 100644
index 00000000..90b32e71
--- /dev/null
+++ b/dev/perl/perl-test-exception/Manifest
@@ -0,0 +1,23 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+DIST Test-Exception-0.27.tar.gz 12940 MD5 dd9383e0bb207c7b0a04d6ba990a5909 RMD160 12ce8c315f817fe7f03e6c7bcdc3802279bb7015 SHA1 e4cd92b68ddc8eef198eb5daf07c288d96f4906e SHA256 32ad1e5e12d562a9f65e68c096dc4978e567c7f7263a171af75f8bed8f0c22e9 SHA512 2c64faccdb6b6176aa734637587a0429d7158ec599367949285ff33e6320199e9393234caf003a7895e269983e963ef6909e400fbb58b20a90eb3409cb2f7422
+MKBUILD perl-test-exception.mkbuild 2388 MD5 eb0b8a225058c70a765a0624329597ed RMD160 f96c6cc861205b0718304ba0f13ec3c75ef14857 SHA1 08bf73b70f9616566f15adb3252634fe54f0e7bd SHA256 555d86592a683397a31c70fa9be2dbacf5ee577a1763d56b05d2e7391aaff552 SHA512 f893b924a42014315fe8574667f8d9de63625c512c9938b2e44760acb433773be190c34c6ca0204016dc14a3b532fc2b30f523e2212d1e9d7ce500c4e3d8489e
+SLACKBUILD perl-test-exception.SlackBuild 7087 MD5 807a24c7795933e8eba89e603b50a40d RMD160 bd0bb28178f5a2a16f4732d477680aad2f3ea672 SHA1 ede32c2d9a5b91714b4fcffc3d472c2e6992dd5a SHA256 7ea24ee7e486af66490f0552659fbba280f20a9bd5f82cd06573b8dfc427999c SHA512 17e110beeceffcffa786875bce1193f66dcf04d8d530b2eb39ad2da15fdeb73a96d9e46255e37d327d338e731cdb3a6b86e48ac7341d7804d8ca5ca0a7dab1ae
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+iQIcBAEBCAAGBQJKY2CSAAoJEEHL93ESzgeiCX4P/2O8YEFd4UfWBTP2zUs7sRjV
+3FVIF1dWIRk5MDA3KmxMFhFFdtIy5iRKVn2GfRjGNSAx9NWHNRuNkXFUJECMxtI9
+boIEWJFKpguECxNs4oShBafyZvXtydsM2QVqeGl6JW3CklEO1waqsPM5apWbWSqE
+pl03G93Rdvha0IK3yiHIp4q6xfrFxda3dCIPmow7E28DRul6GfQ7Qk7W6HcPoLMX
+MwX2+HDv1V5q/e1C/EHEmb+t8wglfSEAE07eeyzwSahAP9wO0UD3Bna8xwgqC7Yq
+IME+RwZkCVgIwBAug8p5fkolcYkom3Jx7jQ0EMapbXbzWPTR7NOnlWvcX1b7PfWh
+GuKNj2jkPDWzzWhHpUaRoMlUaSZUampqgu0KNumYRwxP65QjjNr0cOnqGcOBlqts
+yvgTGwO+OjkIGAxIkmrXYhCCryRCIS32jXstDJy1JxkqmlSSP11CXIa0m+Khjr3F
+aSzr/JyX4bwNM3R6ixbkfh35NqR/4CIH4+T1W9vM2u9OFW3Nuq56VAAbGCGQhV/t
+J1I4tynxCOnl9ILoERfzB2bUnShoJcBBi0dx85XqPLjE+1Vl8tHSbdm9t89NHzxN
+h2PXXvRBEDUPrA0oL+W4EehmmKdeJGW9vIiCFw1VtsfnfwmTtobOGKg8bawDd64M
+l3t9BW50tYXBzpMvRhEr
+=BwOx
+-----END PGP SIGNATURE-----
diff --git a/dev/perl/perl-test-exception/perl-test-exception.SlackBuild b/dev/perl/perl-test-exception/perl-test-exception.SlackBuild
index 4e154807..cc406389 100755
--- a/dev/perl/perl-test-exception/perl-test-exception.SlackBuild
+++ b/dev/perl/perl-test-exception/perl-test-exception.SlackBuild
@@ -17,6 +17,7 @@
# slackbuild for perl-test-exception, by Silvio Rhatto
# requires:
# tested: perl-test-exception-0.27
+# model: perl.mkSlackBuild $Rev: 796 $
#
# Look for slackbuildrc
@@ -38,6 +39,7 @@ 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-test-exception"}
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
@@ -83,6 +86,72 @@ 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
@@ -148,9 +217,10 @@ EODESC
# 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" ]; then
+if [ "$CLEANUP" == "yes" ] || [ "$1" = "--cleanup" ]; then
rm -rf "$PKG_WORK" "$PKG"
fi
diff --git a/dev/perl/perl-test-warn/Manifest b/dev/perl/perl-test-warn/Manifest
new file mode 100644
index 00000000..a2880ec2
--- /dev/null
+++ b/dev/perl/perl-test-warn/Manifest
@@ -0,0 +1,23 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+DIST Test-Warn-0.10.tar.gz 9624 MD5 17557bbc8eefadf9f088ae4ab73e9976 RMD160 0042a0c411406ff38d233f0c2eeee7bcb2a68fcc SHA1 d2ee498519f1b144de04763fe5bb916ce30e56d2 SHA256 52f8bf1cd3f23fffeabd6619e95dda81484b099ef2c8a0d3cd77a4960e6caac1 SHA512 77040d3e53d9cb9482aaaf974f0313e0d843e202d588a79f5aa77fe8e0a576f7d915cca32ef0162a83c66e590b84c7391584cf82a4685b1c2b45ab486afb89cd
+MKBUILD perl-test-warn.mkbuild 2333 MD5 e3618c1de3fa4498a84315f1001fb654 RMD160 0ff61dc23f452d3c6378d22057e7cce620aa14cb SHA1 70aa9f3b243f7e038f044869b89e8e689fc1e0c3 SHA256 60f5024ff86213148b132fc7f890aa07975a53b68467c76c3af48313b2b11304 SHA512 2f94e8f536e69db9670fb6e0783d516f8c045ad6fa0c883a4afc54662f791bf1b761c85236efe1778fc41ecf62c8e9850ab08e5888624396a6af00147d3a0d73
+SLACKBUILD perl-test-warn.SlackBuild 7012 MD5 57e34f39a76981ae1fa7cedf1d4021b4 RMD160 7718fb5d4644cd40e7a1d5b86c51799f8c1de3ef SHA1 6cd52ca97d0bb95ecf7e727c91635aca64367fe4 SHA256 792a7731367051b0f5715b62489fe7a6cecf8fa43ea59f6b65a650e08f263f24 SHA512 4d11246c3cb9149fd252a58d792618b1823ec6af92c9253e10264f78cc8e129bb08302d665a073d512f10a894d92369da74c4f13dba6f738b1da3e17807392f4
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+iQIcBAEBCAAGBQJKY2F5AAoJEEHL93ESzgeiYC8P+wYlx/Xk3XdPYgbAAXVpb4br
+DoG6WbTSTaW9Y4KncN5xrJwyHZzypFtJraKxJfMAoJG7WwUAvz6khW6lVEkeFyXd
+Xv4IqkgA2sIelV/baNcsl3VKqf6mTr7vltRIwsxqwrPrjJC2FcQbgPWr391Ph9Tq
+yweYxAi5Bwl61vbSY8v8PEgM5e6hYrHPAmQL1JasiqH+TAQULc6wj1Vz1dMYb7Hj
+rERlk46JFOhKfaUxgzks3HS08hjjz6IfvHV4xTIO3hMc6agG4Qu87l1ECT5aFINR
+tckyigNrM+7Qsr+tUPOy7omch6y+oiISiMWkrMMq98pq9s1/QGWxhGqksZUEEkjG
+a0mWSCrpcOmE4WejCyIIa+snSCU3CepUS0Lw4Ggw/jWgvb7ld5QdrJAUxjv8ifW3
+Mg4HcQicuZDtxFiNCU1DrvJBDC4JeyEp2krqYfKisaIX+JgkghMEjAcRFXkuRzZt
+lf222iYBtCyA/em/ffymO8qjb7TZqHDvzfsGD2mPRYG1fVbE9JZ5yXU56GIB/vuT
+I3N+HSoNa4YUfXKFl99gem+z7N7CC4o9+KXx8Drx8FU9m9p7lw9DhbX+tsDMmRWk
+UNdhTOGL4JKNd3JMkX8glNyJxiZLvNGjHuUgYW53pVKjxy+1xehxC19rVRvedH5m
+IGoUBN/3y0MT8GNOt611
+=139T
+-----END PGP SIGNATURE-----
diff --git a/dev/perl/perl-test-warn/perl-test-warn.SlackBuild b/dev/perl/perl-test-warn/perl-test-warn.SlackBuild
index e718a392..bc4700af 100755
--- a/dev/perl/perl-test-warn/perl-test-warn.SlackBuild
+++ b/dev/perl/perl-test-warn/perl-test-warn.SlackBuild
@@ -17,6 +17,7 @@
# slackbuild for perl-test-warn, by Silvio Rhatto
# requires:
# tested: perl-test-warn-0.10
+# model: perl.mkSlackBuild $Rev: 796 $
#
# Look for slackbuildrc
@@ -38,6 +39,7 @@ 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-test-warn"}
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
@@ -83,6 +86,72 @@ 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
@@ -148,9 +217,10 @@ EODESC
# 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" ]; then
+if [ "$CLEANUP" == "yes" ] || [ "$1" = "--cleanup" ]; then
rm -rf "$PKG_WORK" "$PKG"
fi
diff --git a/dev/perl/perl-tree-dag_node/Manifest b/dev/perl/perl-tree-dag_node/Manifest
new file mode 100644
index 00000000..7ed78faa
--- /dev/null
+++ b/dev/perl/perl-tree-dag_node/Manifest
@@ -0,0 +1,23 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+DIST Tree-DAG_Node-1.06.tar.gz 32843 MD5 3b006f128bd1d8961fc57c466ffa05f2 RMD160 b3011e10cbfe8b1dbc7d3ee191e6dbe692b18d46 SHA1 8f412087b33942df06f20ca7c2e8ea0bd2354742 SHA256 502570774dd3bf11345fb028ca4cdd79f04db12ee68a826f0c44e24da0e3db2a SHA512 dfdec2799b3ef2e20303001aa40df16be134e1c56d48acd61cb6397e66d7fb38beeb4efdbcd24fe16e2fcc15471e77dabb1fd2df0334e3e44024109a997ae71b
+MKBUILD perl-tree-dag_node.mkbuild 2395 MD5 4daae6b9f610fee630c942d933d14740 RMD160 16ab584a13ef8652444aa8af6ccd9f1038620705 SHA1 37f7479e2358fa25d53955c4a0b2a8c5ba773a84 SHA256 c9592bfd419cd6e082bec23880ea9f4f9ac987ec76f382465539a230bd4dc37d SHA512 a721be8daecfc174ed9db615a10ed42e875e3aa5fa418dc0335a6d1d5160e2411f579afa7dbf18bd83e19eee00ef7848f095941f8ac2b441e4d8c245e8e50d66
+SLACKBUILD perl-tree-dag_node.SlackBuild 7090 MD5 92657d9922d31f63db7c84def4e6bc1e RMD160 24cefd62b233e4843c8414351373431377f6fa65 SHA1 126506aed448e5591e8adbf735797f3b90169297 SHA256 5ec279d263b3e79469bd0408d776c1613f8e2e16b4f698ae4715ed52a4f43783 SHA512 2025ee99cf8b316e12ab3d47f0198c798e8c8cc58c21e60d9c9d8a52862ae530a2257ce77d45bd87e9404e509a21c685d8df5d7f15c4911189a91a07cbf23f57
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+iQIcBAEBCAAGBQJKY2FbAAoJEEHL93ESzgei83sQAIpHm7Yqzdz88bZnuZ/7ECNg
+dP66RHi9RTgZ/tz8xsT9CMGUFQXwL6qra+iEhUpO4m4d7yGX1/aA7owBf6f8K92G
+NnoKhzgBXfkBKhUgbaGtDajl7d1ELInV0bkJjwIYWTc9E5gK6cBuyyznQAJ4X9IU
+trP3IYxfLs7rgj6nbtEVPefpE270nDe+WDW5i28TY1DXkZVHUfGHQNXzKXW1dnoW
+xLzRvgESnhhX+ZvGs3Lekwb9nZ70Jag7OxGws2mPWqbqxlSeqehji4YdYKOzk4M4
+jZ2mlyDU/YFWuO12CMJGn67QioQ1wFSz8nhso+m3kAWxePcBmf8HVpsRNONxx1JV
+XcS6YWqC/Mzqdl5qybMnyOCKQUT5L3y8XLY/DTgdAX44kzJV4AZ5piryzLGnEX0h
+86gMkFvyvlrTY0N8xcwMBDgxoozHvUW7kSUe5kGFJRdhJm6LEaxVkAhXe11Xx0eB
+BxXLPwku4ksSf+oPzVTnH89fDFcpn8ypS/yz2rGLpamDD+mkNz2wRbSNy8ul1HzW
+bFzY/WTnDjZM2z7obCukjnjSK0HyfhWMJY0B5dKu3cvO6UUcrJ4qydxNKKEbUqzf
+CqJP9l81sCFSORZ9tCT7t1g80LLpznpZdyJdUfPh6VsU+E17SOanWXaQ2Vv8BIXb
+rgEOmsARUZBpUT8zCxGS
+=r4Zg
+-----END PGP SIGNATURE-----
diff --git a/dev/perl/perl-tree-dag_node/perl-tree-dag_node.SlackBuild b/dev/perl/perl-tree-dag_node/perl-tree-dag_node.SlackBuild
index c96bb96b..075c2c09 100755
--- a/dev/perl/perl-tree-dag_node/perl-tree-dag_node.SlackBuild
+++ b/dev/perl/perl-tree-dag_node/perl-tree-dag_node.SlackBuild
@@ -17,6 +17,7 @@
# slackbuild for perl-tree-dag_node, by Silvio Rhatto
# requires:
# tested: perl-tree-dag_node-1.06
+# model: perl.mkSlackBuild $Rev: 796 $
#
# Look for slackbuildrc
@@ -38,6 +39,7 @@ 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-tree-dag_node"}
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
@@ -83,6 +86,72 @@ 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
@@ -148,9 +217,10 @@ EODESC
# 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" ]; then
+if [ "$CLEANUP" == "yes" ] || [ "$1" = "--cleanup" ]; then
rm -rf "$PKG_WORK" "$PKG"
fi
diff --git a/net/dns/ddclient/Manifest b/net/dns/ddclient/Manifest
new file mode 100644
index 00000000..d6c72356
--- /dev/null
+++ b/net/dns/ddclient/Manifest
@@ -0,0 +1,24 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+DIST ddclient-3.8.0.tar.gz 45893 MD5 be5c08fee4a45468b8e41c3dcb79e360 RMD160 771ed13aa248c13af11e0466888513418bae98fb SHA1 ff889adacf916bebb25522d9cc1eda0e9593a7f4 SHA256 88f0f1cfafd2d7a813e72c3a3f1f2a08e9bf06ccd1d49ddb3f942dd4b9331fb3 SHA512 ea2c698ecea7b56c6019d19042003d4ee338dd492705883e13061f8cf9d342b211279e4a323b6ef3de6c61a584e6ae3153bcc9522ae5cabf6253492fd5480ee1
+MKBUILD ddclient.mkbuild 5481 MD5 9dc9002fc2f2affcf89c13dba4085835 RMD160 2dd582c7c7e732eefd106ac5af37a13425d1674e SHA1 9cc5600f9c84f6d9911ed504bf40afed98c6fffb SHA256 732e367050c67c9e98358c87a8c7858c0184fbb77b19acafac49c0d3d154b1aa SHA512 6abff3a7307335eb073ac97132fb1dcd51c116c7e6d7dad7b52efa5115bfc9a86facf3fa34795562be7bacbf9132f1292f19f4ff98b5977f842333e94f01659d
+SLACK-REQUIRED slack-required 91 MD5 9002d04213e3803325fcec3bd662e4a4 RMD160 671957838804bba3c49bc2068ce2c417e8f8e3bf SHA1 48c5d004258b4f09fc954ae301aec0769b7fcd0c SHA256 df3749cdaabea83772a354cf8d034e54a7efb6ece2aba4e173f2f68abdb115dd SHA512 831329dc7ef54e51d0f3de157c94be03971649c7088e8276b3720641cd5831a69801812ca6ac0a84fdbb5b4da296850756f3fa6279cea2f2579aaca22dbdd485
+SLACKBUILD ddclient.SlackBuild 8124 MD5 236aae515292f5815effce847b471bf1 RMD160 741df45440464eef521a2976e17beb3546fdf45d SHA1 4ac51a5370acd42bdb7a9f30e3f50338a6dd9086 SHA256 5e2b032c5a5e3cceb4d7eb8ab58cae83df49503783dd0d67a813d3d02e301ade SHA512 62ee2930d126144b386d923dc464cac60e14bef0f19fcc208b0899e1cd6089c003085fd6075472f4fbf4be84ff3060accbd8f20b9c92079478c4b20f2d54c224
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+iQIcBAEBCAAGBQJKY2KFAAoJEEHL93ESzgeiW70P/3KqujRqGVjkwP0ezXxS4j55
+PwKn6IBtFavFIWwa+qpwCc5efv7QngZpGUDm5gC+SuJElCiih7ZPFcmw+6epD84n
+Y4ceH9zuzN8/HxmGTq+dlfFimaxZPXlp+Fv/FgjNh/hlPk5CsbXqZN62uM6g488Y
+q8GqO/yFB0u4fAYrdYr6zjmXpikj1wpuB9iKLUKcbgr0wLY6Nmm0uL92HGNVlo0W
+bo5DOPXSCoN+mdy5G3geQu6ICKrlRCkgg4ZBz0oH8kyXo1mmy39XnMbstNgKA3PW
+AFzV+0hmVwb7R4+1t13DPbR1iKwMh4sOr66IbyHdvTQdqH24c1KHbh863xqDHjeu
+6Bss5VNLQ4Xgp8gQbSiKVCiqSqzLc7Ao9DuTze/AE3usonsWjHY27tdIEW7Ib65F
+CWsLICOvKAu2uhNegvNiVGyNu4E1dEwVwCWqioe2iOUS+g74YEOBfNt8TGzFm6WX
+xsT30+0mOVVLf8T/HDeYQo3TYjyCtoyEikIQhZL9pzg7GKEOS+39SdBW5CH5VZ4s
+JFaIDQX1eEisOpKaOFmhlPtyudiD9ypMDN9F4N2g4yKPZP+Syc/P8nilRduweeCf
+c4XrlpukIEK1Bf/YesduxxsMrPDtYT3UAg3W1Ok9JDbgDgx3RKJXxHRNAmgXUGbs
+95e8X7zT6wLsRxA8Sjb8
+=olJE
+-----END PGP SIGNATURE-----
diff --git a/net/dns/ddclient/ddclient.SlackBuild b/net/dns/ddclient/ddclient.SlackBuild
new file mode 100644
index 00000000..7102b62c
--- /dev/null
+++ b/net/dns/ddclient/ddclient.SlackBuild
@@ -0,0 +1,261 @@
+#!/bin/bash
+#
+# ddclient.SlackBuild is free software; you can redistribute
+# it and/or modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the License,
+# or any later version.
+#
+# ddclient.SlackBuild is distributed in the hope that it will
+# be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for ddclient, by Silvio Rhatto
+# requires:
+# tested: ddclient-3.8.0
+# model: generic.mkSlackBuild $Rev: 805 $
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+ source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+ source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="ddclient"
+PKG_NAME="ddclient"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=3.8.0}
+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:="net/dns/ddclient"}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mtune=i686"
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIR="$PREFIX/lib64"
+ LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+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
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://downloads.sourceforge.net/sourceforge/ddclient/$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 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"
+
+# Install
+mkdir -p $PKG/{usr/sbin,etc/ddclient,var/cache/ddclient,etc/rc.d}
+cp ddclient $PKG/usr/sbin/
+cp sample-etc_ddclient.conf $PKG/etc/ddclient/ddclient.conf.new
+cp sample-etc_rc.d_init.d_ddclient $PKG/etc/rc.d/rc.ddclient.new
+chmod 600 $PKG/etc/ddclient/ddclient.conf.new
+
+# Strip binaries
+( cd "$PKG"
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="COPYING COPYRIGHT ChangeLog Changelog README README.cisco README.ssl RELEASENOTE TODO"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+ if [ -f "$doc" ]; then
+ cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+ fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler-----------------------------------------------------|
+ddclient: ddclient
+ddclient:
+ddclient: Ddclient is a Perl client used to update dynamic DNS entries for
+ddclient: accounts on 'Dynamic DNS Network Services' free DNS service.
+ddclient: It currently supports a lot of different routers and a few
+ddclient: different services.
+ddclient:
+ddclient:
+ddclient:
+ddclient:
+ddclient:
+EODESC
+
+# Add a post-installation script (doinst.sh)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EOSCRIPT > "$PKG/install/doinst.sh"
+config() {
+ NEW="\$1"
+ OLD="\$(dirname \$NEW)/\$(basename \$NEW .new)"
+ OLD="\$(dirname \$NEW)/\$(basename \$OLD .sample)"
+ OLD="\$(dirname \$NEW)/\$(basename \$OLD .dist)"
+
+ # If there's no config file by that name, mv it over:
+ if [ ! -r \$OLD ]; then
+ mv \$NEW \$OLD
+ elif [ "\$(cat \$OLD | md5sum)" = "\$(cat \$NEW | md5sum)" ]; then
+ # toss the redundant copy
+ rm \$NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+mkgroup() {
+ GROUP="\$1"
+ if ! grep -qe "^\$GROUP:" etc/group; then
+ echo Creating group \$GROUP...
+ chroot . /usr/sbin/groupadd \$GROUP
+ fi
+}
+
+mkuser() {
+ USER="\$1"
+ if [ ! -z "\$2" ]; then
+ GROUP="\$2"
+ else
+ GROUP="\$USER"
+ fi
+ if ! grep -qe "^\$USER:" etc/passwd; then
+ echo Creating user \$USER...
+ chroot . /usr/sbin/useradd \$USER -g \$GROUP
+ fi
+}
+
+config etc/rc.d/rc.ddclient.new; config etc/ddclient/ddclient.conf.new
+EOSCRIPT
+
+# Build the package
+cd "$PKG"
+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
+ rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/net/dns/ddclient/slack-required b/net/dns/ddclient/slack-required
new file mode 100644
index 00000000..28ae7a13
--- /dev/null
+++ b/net/dns/ddclient/slack-required
@@ -0,0 +1,4 @@
+# Dependency list to ddclient
+#
+# dependency [condition] [version]]
+perl-io-socket-ssl
diff --git a/net/dns/inadyn/Manifest b/net/dns/inadyn/Manifest
new file mode 100644
index 00000000..740396a1
--- /dev/null
+++ b/net/dns/inadyn/Manifest
@@ -0,0 +1,23 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+DIST inadyn_1.96.orig.tar.gz 45403 MD5 df59f979560807ecb6a7b5bfc0051c04 RMD160 51b629a7f7aa20e8ed09fbd3e740e8bcb5cdfb1c SHA1 2a06890ece2a6039d853d105ec57ea035bed79a4 SHA256 fcc9a4eb1af25a0c4fec147e8e01bd928f0ed0a1c449c9437b1caf5d3ebf739b SHA512 dbbafcaaf29ede23d9aee06d4a78f756050a990fdb8b80388c2b2e783349d38761bb2fd617188ffa30a2baad41a5d8ab372adc49a931a0635712eb47ea6d50eb
+MKBUILD inadyn.mkbuild 5296 MD5 155e84d9acb173471ed6b698fd6cfc02 RMD160 7873428ad57e45c508334073e89858538ecf1bb3 SHA1 8afd634826fc25fc6ab75f3b2c26571e0c778066 SHA256 41a13b3013e2cf01b88e79f53369fe4f4f957cc57ba53b17eeea7d12486a00a6 SHA512 09de65cf0711a40d9c19e804f3d939750b1ff3452edd8171b6980952f3879b97167ae3bab7a9e7dffca1f615d1e7756166a8540eb75e3896e21263541f81b294
+SLACKBUILD inadyn.SlackBuild 7349 MD5 02ea661ca03a073372f6061136e56dd2 RMD160 a4de575ef18d3412c1432c6b08d34519fcf5c1f3 SHA1 4464b8683aae61c819d8ebc93a55944925dbbeae SHA256 3c6d40f2917beca4a031b8d2f4c65875daa9d056734d3a112cfc8d02ac3521a3 SHA512 3facc187f7199bcda54547ef399a6e1fbf50c6d72ff5d78ff5bffc666d61230088b358a7b857596cd12b0e2ef600cc8c8eaca4e760306dc1ae088517e628a534
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+iQIcBAEBCAAGBQJKY3XjAAoJEEHL93ESzgeiTpkP/3q5S4fp5oYHWY6SuHGOGddZ
+uvs5LscxsouEYBh0pCEVzYPztDUU0kShDe72quBkngIlNtdb+m0Qxl9UcQoHTd25
+sepFFWK8+1Z8AW0/64UGbkMZLRNy66xDyGk2tk/HoE06sEQyp1H4d38f1UStPT1i
+ITqYVd55X8moAn1F3uP2nB52BcBDMALb9qrOrEFDmtjiHxVBwJgumTiPmaBIuifB
+SJimU+xE3B1E9d3e2StMlby8zjQMzvqWgAq9qSK/cJXe1HzJaOWRcijUyuXAZ6jc
+HAxbeToOLlPQWzxGMeatDPj6SIvpaQUC/8hO+rnFD6w0YmWAd8UUaX+7KFKGlZHD
+UhsSsj73iIjZteeTGVEp1vm8UH9Hl2ft/J6QeMJRcdWIXzcfw2WpaXHARoaGEYJN
+fyrmqrGsnxF1GHEhHLJccilxmmQ4pGkUQoTEgziaohq4t7xcrP6Pjd3En8O+aduN
+tBHIvrhyoZrbVwiycKmBeAbVN7Ar47vtTL1t58oSntxDe78h+WmX5eY9LyNKO6Wb
+8OzNE/PQCxbL/y2wtE07rX7kkLCuqE95Zd2JU9W25a5r1N2B2UcC5Q2N1IrTCIdj
+5y3DWmfwm2NXvfLchIJNFTreIWpqXjInjFxm0NalQf3vp8WFlNocQ59Ee3IX7hC1
+fx7HweEQlca2bb0c/OHy
+=rssj
+-----END PGP SIGNATURE-----
diff --git a/net/dns/inadyn/inadyn.SlackBuild b/net/dns/inadyn/inadyn.SlackBuild
new file mode 100644
index 00000000..166fbbc3
--- /dev/null
+++ b/net/dns/inadyn/inadyn.SlackBuild
@@ -0,0 +1,236 @@
+#!/bin/bash
+#
+# inadyn.SlackBuild is free software; you can redistribute
+# it and/or modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the License,
+# or any later version.
+#
+# inadyn.SlackBuild is distributed in the hope that it will
+# be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for inadyn, by Silvio Rhatto
+# requires:
+# tested: inadyn-1.96
+# model: generic.mkSlackBuild $Rev: 805 $
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+ source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+ source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="inadyn"
+PKG_NAME="inadyn"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=1.96}
+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:="net/dns/inadyn"}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mtune=i686"
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIR="$PREFIX/lib64"
+ LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+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
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME"_"$VERSION.orig.tar.gz"
+URL="http://ftp.de.debian.org/debian/pool/main/i/inadyn/$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 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"
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+mkdir -p $PKG/usr/bin
+mkdir -p $PKG/usr/man/{man5,man8}
+cp bin/linux/inadyn $PKG/usr/bin
+cp man/inadyn.8 $PKG/usr/man/man8/
+cp man/inadyn.conf.5 $PKG/usr/man/man5/
+
+# Strip binaries
+( cd "$PKG"
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Compress and link manpages
+if [ -d "$PKG/$PREFIX/man" ]; then
+ ( cd "$PKG/$PREFIX/man"
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+# Install documentation
+DOCS="readme.html"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+ if [ -f "$doc" ]; then
+ cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+ fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler-------------------------------------------------------|
+inadyn: inadyn
+inadyn:
+inadyn: INADYN is a free DynDNS client. It gives the possibility
+inadyn: to have your own fixed hostname registered on the internet,
+inadyn: although your IP might be changing. It checks periodically
+inadyn: whether the IP address stored by the DNS server is the real
+inadyn: current IP address of the machine that is running INADYN.
+inadyn:
+inadyn:
+inadyn:
+inadyn:
+EODESC
+
+# Build the package
+cd "$PKG"
+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
+ rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/net/news/newsbeuter/Manifest b/net/news/newsbeuter/Manifest
new file mode 100644
index 00000000..863df2ed
--- /dev/null
+++ b/net/news/newsbeuter/Manifest
@@ -0,0 +1,24 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+DIST newsbeuter-2.0.tar.gz 335576 MD5 3b506b0c87f6e306917b7732d56eecf1 RMD160 fd860542ca547d9d41cbfa3a12eac38f633830fa SHA1 b25fb3d742c3f975140365e64861e653026ca12d SHA256 f170b0de2b84c736c45e4093dd2361ff512a2ebf4e533e43f0790e3d406a146c SHA512 13794c8fc2a54e3309eb196eb57bd1156af5cd30b4bcf47efffbdd0ac0f27c2b2c208c6a205b4e0c2c62aa4394e7a2e366d8df0a7a2167d8dc2c5c4d745affe0
+MKBUILD newsbeuter.mkbuild 5350 MD5 2af00c9ee6e60fe5f6c490aa7627bbcb RMD160 c1fffc14d673f1e500e40261c957143cb54cb95e SHA1 fac528e5a1e54548f07998ee2bed3b68ba25421e SHA256 160ac48a30d2c1a8ffa889365420142a3a83594d3253a7e08b0f94414125663d SHA512 f0896510858d93e6bc25720c908aa1f997d09433f3483a9cef683dc926f72d0bd323a59c74a7f558c572c83eabed467e4fb7b3765251b59d705f2ca122feacd6
+SLACK-REQUIRED slack-required 79 MD5 ff89236088ec183fafbdecf083ea40cb RMD160 d4331279289c4cc2fb24682fa8d317d8a80361fb SHA1 39ebad433db91e751ea7a58a2763a1daf38a1078 SHA256 4aae71e342b669a0ea70a4a1ae76009ac9c730366ea96d1ecc4791fbffc477a9 SHA512 ef1c9d9cb443150dd12b99d665c429d68b688f91966ad6e957ddd17075aa8f65985d6df53428d14d92db587c9aa8f4dd0534aa061406e27bf15cc386e00e6353
+SLACKBUILD newsbeuter.SlackBuild 7153 MD5 5d95f79af16b0db7db3f20ec231d3847 RMD160 095c5261572704a375208c50a3a6b17fc21c2657 SHA1 5076211437ef5bfc4e303efd104be5a117093b44 SHA256 448e71d2364df53a66809a24bf2dcc42111a84f924e32baf05b2b5dfd9f5e408 SHA512 33f6cb01944d946ac0425255de70570a97fa4fb16d857c3efe366ba3a5a339ae71be1104e09134f526bf47f3da95ee9eb8b6e29366080039f8ae3772a8692d3d
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+iQIcBAEBCAAGBQJKZKSnAAoJEEHL93ESzgeibcEP/RCLBXH3Jz0X5N9n8fCKgkS5
+SwGqTEQ0P5WpMBGTmuAzXQCpZnDpvLGZBoSSf/PM/d6enaFZSP6TrpiA7p7OwgfD
+lXZHf0v4fpNoWGFpvfPvlHQW7rjmLanGtjf1Ig/HL0084w8kY71wbcJhd9HzzC4F
++yzUwYfRk7VT1ZqTFR7p3sBBU3QpOxLTvpA5r+qK5WMZikQqyDTZjebikr9tpXM7
+qHZMEPngEPbuCjZ2zUjdMyEgmhhvIUTgsA6YsyWdo2snn4jCsmxjC7/WxbSymJgJ
+qjKEBfoOlI0cOseU5Q92i8ZprMSrG4LrXRjuDkciiQJNAo6syn2URG24gVXfU3RR
+u42vc+u6Q+3H7aS0+4y261NWuoPDX6aKaav/VC1Ph9mFmrmUwIRwA5Aq+VIYv+nd
+YcUjYlaOk6+HSGJPaPRPEjrq9Myh1AJO2WAo3BNgxEIl0ugPFKpwVW7jHrh+NHZ/
+60OL9XDYO9WYnTjAToY6nrNCo95vOooQGaWu3hCbIofIpz08izomT9lohWU9ysqE
+SMeg5LgA1Uz6nr89jgN6Vy0gtBrjQhqvjoyCGSwhkiD4YyeJur8hogerd8uDfps/
+7mKxhjURNirH13h5pAPm/BedyFgzeL5C1QL/uMJ9KVMCorLfEuLNW2y9nQMYoll1
+DxdPdRyn3fBhN/I62eml
+=etDh
+-----END PGP SIGNATURE-----
diff --git a/net/news/newsbeuter/newsbeuter.SlackBuild b/net/news/newsbeuter/newsbeuter.SlackBuild
new file mode 100644
index 00000000..1be45c26
--- /dev/null
+++ b/net/news/newsbeuter/newsbeuter.SlackBuild
@@ -0,0 +1,221 @@
+#!/bin/bash
+#
+# newsbeuter.SlackBuild is free software; you can redistribute
+# it and/or modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the License,
+# or any later version.
+#
+# newsbeuter.SlackBuild is distributed in the hope that it will
+# be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for newsbeuter, by Silvio Rhatto
+# requires: stfl
+# tested: newsbeuter-2.0
+# model: generic.mkSlackBuild $Rev: 805 $
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+ source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+ source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="newsbeuter"
+PKG_NAME="newsbeuter"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=2.0}
+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:="net/news/newsbeuter"}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mtune=i686"
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIR="$PREFIX/lib64"
+ LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+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
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://www.newsbeuter.org/downloads/$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 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"
+
+# Configure
+export LDFLAGS="$LDFLAGS -liconv"
+sed -i -e "s:prefix?=/usr/local:prefix?=/usr/:" Makefile || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS CHANGES LICENSE README TODO"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+ if [ -f "$doc" ]; then
+ cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+ fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler---------------------------------------------------|
+newsbeuter: newsbeuter
+newsbeuter:
+newsbeuter: Newsbeuter is an open-source RSS/Atom feed reader for text
+newsbeuter: terminals. It runs on Linux, FreeBSD, Mac OS X and other
+newsbeuter: Unix-like operating systems. Newsbeuter's great configurability
+newsbeuter: and vast number of features make it a perfect choice for
+newsbeuter: people that need a slick and fast feed reader that can be
+newsbeuter: completely controlled via keyboard.
+newsbeuter:
+newsbeuter: Newsbeuter is the Mutt of RSS feed readers.
+newsbeuter:
+EODESC
+
+# Build the package
+cd "$PKG"
+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
+ rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/net/news/newsbeuter/slack-required b/net/news/newsbeuter/slack-required
new file mode 100644
index 00000000..c62743ad
--- /dev/null
+++ b/net/news/newsbeuter/slack-required
@@ -0,0 +1,4 @@
+# Dependency list to newsbeuter
+#
+# dependency [condition] [version]]
+stfl
diff --git a/x11/misc/remind/Manifest b/x11/misc/remind/Manifest
new file mode 100644
index 00000000..eba143c4
--- /dev/null
+++ b/x11/misc/remind/Manifest
@@ -0,0 +1,23 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+DIST remind-03.01.07.tar.gz 319550 MD5 9335189e78a11b78d848aeade30058d6 RMD160 f59fbd46e3cf04f9ca41601215ba0b6721264fe5 SHA1 cc5bd6de9675b6af972376cd1376a453a3758aa1 SHA256 54932ab57aac1d95a7e928984cea51d00075b4300e6b748c45cf654b615adae6 SHA512 e15df95c4b576fc87b1a30755cdb6cade72b18754aa39eef6250ad3ffa4d3a161584ce2446514b3e3456d368de975bd48dec89268a3426c9f8d77d7fea4c2f24
+MKBUILD remind.mkbuild 4833 MD5 f5daa572f3fe0d80a0216e0209cf611b RMD160 3716c5d44508e0b68b7eaf78f3320bd21becb978 SHA1 1ff60b8c14e116e56563f78195e53aafb8f0ac0a SHA256 432f31f775dca8bdeb508bc36c064b047254c376e95738db9d8368730beb7031 SHA512 6383e4a357c9d375d1b736da6588e3b140633a487585578f7ceffec49064af9fe8a3dd83487ec7430c4e0828aa995bfd0b07371ee4332e90c72b62fa97b8383b
+SLACKBUILD remind.SlackBuild 8506 MD5 116d7fb2e1fe56424327939b2843bd8e RMD160 cc71136196c8e66d578a26d622d7646c0a578a4a SHA1 ca4e015f50945131163f051d97322b506b94ce72 SHA256 3c40ab5140e53f0a27e49c8b8ccc327cc4d6c3e90e635261b5cfb584da6de15e SHA512 70e3c6eb033cb494d24b6f8d4c476d0321351935df237234c57251b18958b36564e45af6fbda1d770def37d92b0ae4c94773d78718333a423c867a94a01d6b0e
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+iQIcBAEBCAAGBQJKZIeKAAoJEEHL93ESzgeiIx0P/jn2aeYhXTT810HHTF4MnpfK
+lnIA7zadrKuNPpZld/6moxJFWWO3FeSquyiks5zGJfsx3zTKiAOt60dsBA9yDfHo
+RmMOUKWHYvVRYPUoJCmEDZ+NRnc1IMlO5KA74Ou1u9K8hdiJCd3ZhwC/N36/E4eV
+T7ijeqXnsUyBxfjT4K0XQSETZB09qxwkkQyGcBUNlUBo1To8vwArLKCW7ZBHLkHx
+FQHqW6xTogmHHbhQNzg9xDz44pSCdCKYxl/Al94jlGi6Jioti84Fb48RrCYo18Dh
+hqmHaRiRu0PyaOyHKUaQyG08iPq9VfEI1acjO22S8vHumjVeQUTIxWbIgN+gExbl
+zFRgFl1v8JufwhJsUHBlRdvnlLhK2dES/mZcqK79f9MRtHp+714bhkTgtlGk80ut
+In8qUAY/0uf3ToIJ/ggrcuhhPU7jRMwfQOPsPzHLO/Jvzi0g/c+xp+i8cfULC005
+t3IlvZ0jASemvdM3XSW3Md8ZHdH4Pz/+NOh/LFBKK7pMS7OFSRzLXKwT9Aqjshwh
+WqWK7RiTqE24/bQmzD857Aw3DKpdlLty/eUxcLYg1qz9gCNS0lzNnebZdJ6mli4X
+2h9xQQo/UnUOY8hrspsm/T2smVlnvC/0qb4eDFBaMG9/unEIyJhQ/SyEtQqesmj1
+GTZLtENs54xaDd0emvB9
+=ImDE
+-----END PGP SIGNATURE-----
diff --git a/x11/misc/remind/remind.SlackBuild b/x11/misc/remind/remind.SlackBuild
new file mode 100644
index 00000000..1e595ac9
--- /dev/null
+++ b/x11/misc/remind/remind.SlackBuild
@@ -0,0 +1,282 @@
+#!/bin/bash
+#
+# remind.SlackBuild is free software; you can redistribute
+# it and/or modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the License,
+# or any later version.
+#
+# remind.SlackBuild is distributed in the hope that it will
+# be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for remind, by Silvio Rhatto
+# requires:
+# tested: remind-03.01.07
+# model: generic.mkSlackBuild $Rev: 805 $
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+ source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+ source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="remind"
+PKG_NAME="remind"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=03.01.07}
+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:="x11/misc/remind"}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mtune=i686"
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIR="$PREFIX/lib64"
+ LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+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
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://www.roaringpenguin.com/files/download/$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
+
+# Import minimized signing key from
+if echo [[SIGNING KEY URL]] | grep -q -v "SIGNING KEY URL"; then
+ lynx -dump [[SIGNING KEY URL]] | gpg --import || exit $ERROR_GPG
+elif echo 126F42E0 | grep -q -v "SIGNING KEY ID"; then
+ gpg --recv-keys 126F42E0 || exit $ERROR_GPG
+else
+ gpg --import << EOKEY || exit $ERROR_GPG
+[[SIGNING KEY]]
+EOKEY
+fi
+
+# Download source's signature if necessary and check it
+if echo [[SIGNING URL]] | grep -q -v "SIGNING URL"; then
+ SIGNATURE="`basename [[SIGNING URL]]`"
+ if [ ! -s "$SRC_DIR/$SIGNATURE" ]; then
+ wget "[[SIGNING URL]]" -O "$SRC_DIR/$SIGNATURE" || exit $ERROR_WGET
+ fi
+else
+ if [ -s "$SRC_DIR/$SRC.sig" ]; then
+ SIGNATURE="$SRC.sig"
+ elif [ -s "$SRC_DIR/$SRC.asc" ]; then
+ SIGNATURE="$SRC.asc"
+ else
+ echo Trying to get signature file from $URL.sig...
+ if wget "$URL.sig" -O "$SRC_DIR/$SRC.sig"; then
+ SIGNATURE="$SRC.sig"
+ else
+ rm $SRC_DIR/$SRC.sig
+ echo Trying to get signature file from $URL.asc...
+ if wget "$URL.asc" -O "$SRC_DIR/$SRC.asc"; then
+ SIGNATURE="$SRC.asc"
+ else
+ rm $SRC_DIR/$SRC.asc
+ echo "Error getting source's signature file"
+ exit $ERROR_GPG
+ fi
+ fi
+ fi
+fi
+
+echo Checking $SRC_DIR/$SRC with gpg using $SRC_DIR/$SIGNATURE...
+gpg --verify "$SRC_DIR/$SIGNATURE" "$SRC_DIR/$SRC" || exit $ERROR_GPG
+echo Success.
+
+# 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"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+ CXXFLAGS="$SLKCFLAGS" \
+ ./configure \
+ --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Compress and link manpages
+if [ -d "$PKG/$PREFIX/man" ]; then
+ ( cd "$PKG/$PREFIX/man"
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+# Install documentation
+DOCS="COPYRIGHT README"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+ if [ -f "$doc" ]; then
+ cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+ fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler-------------------------------------------------------|
+remind: remind
+remind:
+remind: Remind is a sophisticated calendar and alarm program.
+remind:
+remind:
+remind:
+remind:
+remind:
+remind:
+remind:
+remind:
+EODESC
+
+# Build the package
+cd "$PKG"
+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
+ rm -rf "$PKG_WORK" "$PKG"
+fi