From 15447044a34ee059b64c00e6734fcbb708751258 Mon Sep 17 00:00:00 2001 From: Richard Ellis Date: Wed, 12 May 2010 23:33:50 +0200 Subject: system/ts: Added to 12.2 repository --- system/ts/README | 37 +++++++++++++++++++++++++ system/ts/slack-desc | 25 +++++++++++++++++ system/ts/ts.SlackBuild | 74 +++++++++++++++++++++++++++++++++++++++++++++++++ system/ts/ts.info | 8 ++++++ 4 files changed, 144 insertions(+) create mode 100644 system/ts/README create mode 100644 system/ts/slack-desc create mode 100644 system/ts/ts.SlackBuild create mode 100644 system/ts/ts.info diff --git a/system/ts/README b/system/ts/README new file mode 100644 index 0000000000..319af498e1 --- /dev/null +++ b/system/ts/README @@ -0,0 +1,37 @@ +Task spooler is a Unix batch system where the tasks spooled run one after +the other. The amount of jobs to run at once can be set at any time. Each +user in each system has his own job queue. The tasks are run in the correct +context (that of enqueue) from any shell/process, and its output/results can +be easily watched. It is very useful when you know that your commands depend +on a lot of RAM, a lot of disk use, give a lot of output, or for whatever +reason it's better not to run them all at the same time, while you want to +keep your resources busy for maximum benfit. Its interface allows using it +easily in scripts. + +Features + +Task Spooler allows one to: + + * Queue jobs from different terminals. + * Use it locally in the machine (not as in network queues). + * Have a good way of seeing the output of the processes (tail, + errorlevels, ...). + * Easy use: almost no configuration. + * Easy to use in scripts. + +At the end, after some time using and developing ts, it can do something +more: + + * It works in GNU systems with the GNU c compiler (Linux, Darwin, + Cygwin, FreeBSD, etc). + * No configuration at all for a simple queue. + * Good integration with renice, kill, etc. (through `ts -p` and process + groups). + * Have any amount of queues identified by name, writting a simple + wrapper script for each (I use ts2, tsio, tsprint, etc). + * Control how many jobs may run at once in any queue (taking profit of + multicores). + * It never removes the result files, so they can be reached even after + we've lost the ts task list. + * Transparent if used as a subprogram with -nf. + diff --git a/system/ts/slack-desc b/system/ts/slack-desc new file mode 100644 index 0000000000..69e37bb68a --- /dev/null +++ b/system/ts/slack-desc @@ -0,0 +1,25 @@ +# 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-------------------------------------------------------| +ts: task spooler is a Unix batch system where the tasks spooled run one +ts: after the other. +ts: +ts: The amount of jobs to run at once can be set at any time. Each user in +ts: each system has his own job queue. The tasks are run in the correct +ts: context (that of enqueue) from any shell/process, and its +ts: output/results can be easily watched. Its interface allows using it +ts: easily in scripts. +ts: +ts: See: http://vicerveza.homeunix.net/~viric/soft/ts/ +ts: + + + + + + diff --git a/system/ts/ts.SlackBuild b/system/ts/ts.SlackBuild new file mode 100644 index 0000000000..69399516f1 --- /dev/null +++ b/system/ts/ts.SlackBuild @@ -0,0 +1,74 @@ +#!/bin/sh + +# Slackware build script for ts + +# Written by Richard Ellis (rellis@dp100.com) + +# Released into the public domain June 11, 2009 + +PRGNAM=ts +VERSION=${VERSION:-0.6.4} +ARCH=${ARCH:-i486} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +tar xvf $CWD/$PRGNAM-$VERSION.tar.gz +cd $PRGNAM-$VERSION +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +make +make install PREFIX=$PKG/usr + +( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \ + xargs strip --strip-unneeded 2> /dev/null || true + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \ + xargs strip --strip-unneeded 2> /dev/null +) + +mv $PKG/usr/share/man $PKG/usr +rmdir $PKG/usr/share + +( cd $PKG/usr/man + find . -type f -exec gzip -9 {} \; + for i in $( find . -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done +) + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a \ + Changelog OBJECTIVES PORTABILITY PROTOCOL README TRICKS \ + $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz diff --git a/system/ts/ts.info b/system/ts/ts.info new file mode 100644 index 0000000000..ff394c296f --- /dev/null +++ b/system/ts/ts.info @@ -0,0 +1,8 @@ +PRGNAM="ts" +VERSION="0.6.4" +HOMEPAGE="http://vicerveza.homeunix.net/~viric/soft/ts/" +DOWNLOAD="http://vicerveza.homeunix.net/~viric/soft/ts/ts-0.6.4.tar.gz" +MD5SUM="781b140158f4c89c33cc852688c893e7" +MAINTAINER="Richard Ellis" +EMAIL="rellis@dp100.com" +APPROVED="dsomero" -- cgit v1.2.3