#!/bin/bash base=`dirname $0` if [[ "$base" = "" || "$base" = "." ]] then base=`pwd` fi DEFNJ="$NUMJOBS" commondir=`readlink $(readlink $pc) | sed 's|.*/commonpkgs|../../commonpkgs|'` \cp -p "$1" /tmp/i.txt cat /tmp/i.txt | grep '^-' | while read xx do xxclean=`echo "$xx" | cut -c 3- | sed 's/\[.*//' | sed 's/(.*//' | sed 's/#.*//'` i=`echo "$xxclean" | awk '{print $1}'` i2=`echo "$xxclean" | awk '{print $2}'` i3=`echo "$xxclean" | awk '{print $3}'` pack=`echo "$xxclean" | awk '{print $2}' | sed 's/\//_/g' ` if [[ $i = "PAUSE" ]] then if [[ ! -f $HOME/batch/$pack ]] then echo "***** PAUSING ... $xx ... PRESS ENTER TO RESUME *******" read < /dev/tty touch $HOME/batch/$pack fi else echo "Checking $i $i2 $i3..." cd $HOME/patches/$i pkg=`basename $i` ddd=`dirname $i` nj=`cat $base/nj.txt 2>/dev/null| grep "^${pack}: " | sed "s/^${pack}: //"` if [[ "$nj" = "" ]] then nj=`cat $base/nj.txt 2>/dev/null | grep "^ALL: " | sed "s/^ALL: //"` fi if [[ "$nj" = "" ]] then nj="$DEFNJ" fi export NUMJOBS="$nj" add="" if [[ -f x11-build-script.sh || -f x11.SlackBuild ]] then add=x11.SlackBuild fi if [[ -f KDE.SlackBuild ]] then add=KDE.SlackBuild fi # add not very useful when first parameter is a SlackBuild, seems to be ignored by checkver.pl.... checkout=$TMP/checkver_$$.txt checkver.pl $pkg.SlackBuild $add 2>$checkout err=$? if [[ $err -eq 100 ]] then # Package found in architecture packages dir, install it. upgradepkg --install-new `cat $checkout` if [[ $? -ne 0 ]] then echo "ERROR INSTALLING common PACKAGE $i (`cat $checkout`). Aborting." exit 3 fi rebuild=0 elif [[ $err -eq 99 ]] then # Package found in common packages dir. Install it and then make link. upgradepkg --install-new `cat $checkout` if [[ $? -ne 0 ]] then echo "ERROR INSTALLING common PACKAGE $i (`cat $checkout`). Aborting." exit 4 fi # Get the commonpkgs dir name pfile=`cat $checkout|sed "s|$pc/||"` echo "LINK ln -s $commondir/$pfile $p/$pfile" ln -s $commondir/$pfile $p/$pfile if [[ ! -z "$PACKUSER" ]]; then chown -h $PACKUSER $p/$pfile 2>/dev/null fi rebuild=0 elif [[ $err -ne 0 ]] then rebuild=2 else rebuild=0 fi \rm $checkout if [[ $rebuild -ne 0 ]] then # Package version is different, build it if [[ "$i2" = "*" ]] then cmd=`perl -e '$_=shift;s/.*?\* //;print;' "$xxclean"` eval $cmd else ./$pkg.SlackBuild $i2 $i3 fi if [[ $? -ne 0 ]] then echo "ERROR COMPILING/CREATING PACKAGE $i. Aborting." exit 2 fi #upgradepkg --install-new `eval echo $TMP/${pkg}*txz` #upgradepkg --install-new `eval echo /tmp/${pkg}*txz` upgradepkg --install-new `eval echo $TMP/*txz` upgradepkg --install-new `eval echo /tmp/*txz` ddd=patches/ if [[ "$ddd" != "" ]] then pd=$p if [ $err -eq 10 ]; then pd=$pc fi mkdir -p "$p/$ddd" mkdir -p "$pd/$ddd" if [[ ! -z "$PACKUSER" ]]; then chown -h $PACKUSER "$pd/$ddd" chown -h $PACKUSER "$p/$ddd" chown -h $PACKUSER `eval echo $TMP/*-*-*-*.txz` `eval echo /tmp/*-*-*-*.txz` 2>/dev/null fi for pfile in `eval echo $TMP/*-*-*-*.txz` `eval echo /tmp/*-*-*-*.txz` do if [[ -f "$pfile" ]] then mv -v "$pfile" $pd/$ddd if [[ $err -eq 10 ]] then pfile=`basename $pfile` echo "LINK ln -s $commondir/$ddd/$pfile $p/$ddd/$pfile" ln -s $commondir/$ddd/$pfile $p/$ddd/$pfile if [[ ! -z "$PACKUSER" ]]; then chown -h $PACKUSER $p/$ddd/$pfile 2>/dev/null fi fi fi done #mv `eval echo $TMP/${pkg}*txz` $p/$ddd #mv `eval echo /tmp/${pkg}*txz` $p/$ddd #mv -v `eval echo $TMP/*txz` $p/$ddd #mv -v `eval echo /tmp/*txz` $p/$ddd fi sleep 2 else rebuild=`echo "$xx" | grep -c rebuild` pack=`echo "$i" | sed 's/\//_/g' ` if [[ $rebuild -gt 0 && ! -f $HOME/batch/$pack ]] then echo "***** PAUSING for rebuilding $i... PRESS ENTER TO RESUME *******" read < /dev/tty touch $HOME/batch/$pack fi fi cd $HOME/patches/ fi done