From fd0994f67f0e8e17c1d0323ecb4811a3c836a9f1 Mon Sep 17 00:00:00 2001 From: rhatto Date: Mon, 30 Mar 2009 02:01:31 +0000 Subject: omake: added patch for 0.9.8.5_3 git-svn-id: svn+slack://slack.fluxo.info/var/svn/slackbuilds@2130 370017ae-e619-0410-ac65-c121f96126d4 --- dev/util/omake/Manifest | 26 +++++++++ dev/util/omake/omake-0.9.8.5_3.diff | 26 +++++++++ dev/util/omake/omake.SlackBuild | 103 ++++++++++++++++++++++++++++++++++-- 3 files changed, 151 insertions(+), 4 deletions(-) create mode 100644 dev/util/omake/Manifest create mode 100644 dev/util/omake/omake-0.9.8.5_3.diff (limited to 'dev') diff --git a/dev/util/omake/Manifest b/dev/util/omake/Manifest new file mode 100644 index 00000000..e4e2ffd7 --- /dev/null +++ b/dev/util/omake/Manifest @@ -0,0 +1,26 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + +DIST omake-0.9.8.5-3.tar.gz 3321245 MD5 d114b3c4201808aacd73ec1a98965c47 RMD160 2364e29a7cc9bd6aaf837818bbe0a64ef4afce14 SHA1 e78c9d8858749f5e234cba303637980e24085cbc SHA256 5b675e09f49ff8249a775798f25ab127515cf2fed39527b202784757a35eddad SHA512 29ae7aa1e52bea7b46007c33cc10916da45b2d0e19bfa22b230be143bd84a114a9c02ace41ba5ea0c3010a5f6b49bba9995f5febde2cc503a2d373b957ea3831 +MKBUILD omake.mkbuild 2570 MD5 95317777963fe7fb6a3df96771f3385a RMD160 4d5f015fe9ecba05ae19a95d5c11cb14261fc1a9 SHA1 bcd020c706b933892c7166a65fc13176dc8df202 SHA256 72ee9e0a625805aec3da6334b750e66f030397cfeb8fbae752d11061fe5e3378 SHA512 333025daa7caa08e3344ceda88e20a987e06b9f7b82d886f69817f69a81b6609eb2f137b353092ae5ff9fe4a2a4f405f9d88521359d3fcf44781126bb4375183 +PATCH omake-0.9.8.5-3.diff 1173 MD5 ead218c8e5992ad71fc8cc6c2ffec70a RMD160 98ac914474b6649db06500fd6b99a6bab1f16968 SHA1 355329095c81e57b24a0ffd30d19727b179ef2d9 SHA256 10d08cf59b343fdf2dcf3cc04d8bd3519d1c39a2f209f920d5d0ee3490955b83 SHA512 111781297956ad3e32e8b8c1093dc11911ca3cec4a995a26fe0e6413606eae60dde26e08d2be7e914b893c89a8642a5c17ccd97d926b2678ce105753d4b326f1 +PATCH omake-0.9.8.5_3.diff 1173 MD5 ead218c8e5992ad71fc8cc6c2ffec70a RMD160 98ac914474b6649db06500fd6b99a6bab1f16968 SHA1 355329095c81e57b24a0ffd30d19727b179ef2d9 SHA256 10d08cf59b343fdf2dcf3cc04d8bd3519d1c39a2f209f920d5d0ee3490955b83 SHA512 111781297956ad3e32e8b8c1093dc11911ca3cec4a995a26fe0e6413606eae60dde26e08d2be7e914b893c89a8642a5c17ccd97d926b2678ce105753d4b326f1 +SLACK-REQUIRED slack-required 75 MD5 9a9b562748aafd1b4e5c618ad59df756 RMD160 294a67f27e1db0357590624832a0aecd9bbd0659 SHA1 83f3ed511ad49f565ad9b7125edb17f180bb7120 SHA256 a47a8cdf16d4d814d135a9c43c405af597cfbd404a8275592f1571c0f471a096 SHA512 efefd1e126923af130cff92b5c934244e2537d73217f5cdff575ebbd522718b9987b980c6e9e7089940694490608d9d146ee6a783987ed87d82ef9368d26dde5 +SLACKBUILD omake.SlackBuild 7926 MD5 47e5599717b49389d18ede962b69c20d RMD160 d47624bcb8232e308d405943f2bcb9e960f249a0 SHA1 c0695313081200ea45b6f5503f44a5cbdda73937 SHA256 1f472f438b07ed70378d4bfe55ff21e4d45825be512b935349e5a644b05e1845 SHA512 71ad6233625e4029f1abf5d586f4b4358198c829eca1828c72f10f1f30ae622aeab003c13dd7453be4452973aeb280469a0f10fe0ac08d117386ace04520efa9 +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.9 (GNU/Linux) + +iQIcBAEBAgAGBQJJ0ChZAAoJEEHL93ESzgeikV4P/jUpphtgcbXvg/J5a7uHDw9X +ZhgnBo1D0WSgbCkzYUS5zrlFZkgkTbBDyfQ++jcRgCvpkp2lG35sTfEWMi9MZJpJ +MD7clwWXchVKSZoWago/P6V6JXBkGXKu3IZK4uVK0QTYQTVi+Td0jSnM+pj9rvm1 +YwRdZ23CbC8fQyLOZhT4DIuwO1GChjB8qhncNlNVBEFmrRl8spguaB3pFaJQ3ksq +iRxDeojJPSSTK5UrZnemXyaH14NlcwouVE7y0d0rwdeZF4xIrGjHEwoKSKfgERSn +GsJBukQXVDiA3aHRyhOCOXnR6PSbsmwi7+JZklixrms95yFxPzZs3EEH9rj8n9TW +mSlxPm8CadmZ+fU7aSAkxjyeCrhhCdkbDk0oWxj8ndt1Y5oQG/ddyv8gnukwheYV +37XqQljQUCEhdv06+BmrjQPZXVlx64ZMyxfCfhpVbiZ78bdGZtqZaiUTVoMlsuua +ER/SeRaV49MOA1brax0SZJg169VWmZtYNALfU3TkKtNtARJ0Q3zR4Iy5vq6/pVKN +VHGkJR5GpqOzVpPDQ66I3j4tlibKGkAEK2akBwAO9rglfkwFm57gsGXm02A3TV2y +sUuJ6fAnsW9fzoc9Q9HKw9hdN6+DVDbElXcDJswXxpdl+pb5zelIqGaucDpyeK3Y +BxPf38VjRmuCgkj79bQF +=hDYr +-----END PGP SIGNATURE----- diff --git a/dev/util/omake/omake-0.9.8.5_3.diff b/dev/util/omake/omake-0.9.8.5_3.diff new file mode 100644 index 00000000..e2499e75 --- /dev/null +++ b/dev/util/omake/omake-0.9.8.5_3.diff @@ -0,0 +1,26 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 10_stdin_stdout_fix.dpatch by Mike Furr +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: stdin <-> stdout fix (upstream r12115) + +@DPATCH@ +diff -urNad omake-0.9.8.5~/src/build/omake_rule.ml omake-0.9.8.5/src/build/omake_rule.ml +--- omake-0.9.8.5~/src/build/omake_rule.ml 2007-07-02 14:20:23.000000000 -0400 ++++ omake-0.9.8.5/src/build/omake_rule.ml 2007-09-06 12:52:23.752616976 -0400 +@@ -1040,12 +1040,12 @@ + * Evaluate the commands NOW. + *) + and exec_commands venv pos loc commands = +- let stdin = channel_of_var venv pos loc stdin_var in + let stdout = channel_of_var venv pos loc stdout_var in +- let stdin = Lm_channel.descr stdin in ++ let stderr = channel_of_var venv pos loc stderr_var in + let stdout = Lm_channel.descr stdout in ++ let stderr = Lm_channel.descr stderr in + List.iter (fun command -> +- let pid = eval_shell_internal stdin stdout command in ++ let pid = eval_shell_internal stdout stderr command in + let status, _ = eval_shell_wait venv pos pid in + let code = + match status with diff --git a/dev/util/omake/omake.SlackBuild b/dev/util/omake/omake.SlackBuild index 33a537b3..58a7fab8 100755 --- a/dev/util/omake/omake.SlackBuild +++ b/dev/util/omake/omake.SlackBuild @@ -15,8 +15,9 @@ # 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA # # slackbuild for omake, by Silvio Rhatto - rhatto at riseup.net -# requires: ocaml +# requires: # tested: omake-0.9.8.5-3 +# model: generic.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/util/omake"} PREFIX=${PREFIX:=/usr} PKG_WORK="$TMP/$SRC_NAME" CONF_OPTIONS=${CONF_OPTIONS:=""} @@ -47,9 +49,9 @@ NUMJOBS=${NUMJOBS:=""} LIBDIR="$PREFIX/lib" if [ "$ARCH" = "i386" ]; then - SLKCFLAGS="-O2 -march=i386 -mcpu=i686" + SLKCFLAGS="-O2 -march=i386 -mtune=i686" elif [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mcpu=i686" + SLKCFLAGS="-O2 -march=i486 -mtune=i686" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686" elif [ "$ARCH" = "s390" ]; then @@ -65,6 +67,7 @@ ERROR_WGET=31; ERROR_MAKE=32; ERROR_INSTALL=33 ERROR_MD5=34; ERROR_CONF=35; ERROR_HELP=36 ERROR_TAR=37; ERROR_MKPKG=38; ERROR_GPG=39 ERROR_PATCH=40; ERROR_VCS=41; ERROR_MKDIR=42 +ERROR_MANIFEST=43; # Clean up any leftovers of previous builds rm -rf "$PKG_WORK" 2> /dev/null @@ -84,12 +87,103 @@ 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 + # Build and install package PREFIX=$PREFIX INSTALL_ROOT=$PKG make install @@ -145,7 +239,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 -- cgit v1.2.3