diff options
author | rhatto <rhatto@370017ae-e619-0410-ac65-c121f96126d4> | 2009-07-22 02:25:31 +0000 |
---|---|---|
committer | rhatto <rhatto@370017ae-e619-0410-ac65-c121f96126d4> | 2009-07-22 02:25:31 +0000 |
commit | 5491100afa473c45f96667ce6f89703d42e01503 (patch) | |
tree | 3341e9ea6b9672228ab1019b6b0cebbc97c142cd | |
parent | 5158fb5c0ffc7fa2591d3ea639095816ca4f01fd (diff) | |
download | slackbuilds-5491100afa473c45f96667ce6f89703d42e01503.tar.gz slackbuilds-5491100afa473c45f96667ce6f89703d42e01503.tar.bz2 |
newsbeuter: adding newsbeuter; wyrd: adding wyrd; remind: adding remind; ddclient: adding ddclient; inadyn: adding inadyn
git-svn-id: svn+slack://slack.fluxo.info/var/svn/slackbuilds@2230 370017ae-e619-0410-ac65-c121f96126d4
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 |