All pastes #411382 Raw Edit

Anonymous

public text v1 · immutable
#411382 ·published 2007-03-26 23:56 UTC
rendered paste body
#!/bin/bash

function get_time()
{
   START=${1}_START
   END=${1}_END

   LTIME=$(($END - $START))
   SECONDS=$LTIME
   MINUTES=$(($SECONDS / 60))
   SECONDS=$(($SECONDS % 60))
   HOURS=$(($MINUTES / 60))
   MINUTES=$(($MINUTES % 60))

   LTIME="$HOURS:$MINUTES:$SECONDS"
   eval ${1}_TIME=\$LTIME
}

function start_time()
{
   eval ${1}_START=`date +%s`
}

function end_time()
{
   eval ${1}_END=`date +%s`
   get_time $1
}

ORIG_DIR=`pwd`
source ~/.kde4buildinc

VERSION=$1
VERSIONS=( `ls $KDE_SRC | cut -f2 -d- | sed -e 's/copy//' | sort -u` )
#VERSIONS=( `ls $KDE_SRC | cut -f2 -d- | sort -u` )
PACKAGES=`ls $KDE_SRC | cut -f1 -d- | sed -e s,qt,, -e s,kdelibs,, -e s,kdepimlibs,, -e s,strigi,, -e s,kdebase,, | sort -u`
#PACKAGES="kdelibs kdepimlibs kdebase $PACKAGES"
PACKAGES="kdepimlibs strigi kdelibs kdebase $PACKAGES"

GLOBAL_START=`date +%s`

if [ ${#VERSIONS[@]} -gt 1 ]
then
	if [ "$VERSION" != "" ]
	then
		FOUND=0

		for i in ${VERSIONS[*]}
		do
			if [ "$i" == "$VERSION" ]
			then
				FOUND=1
			fi
		done

		if [ $FOUND -eq 0 ]
		then
			echo You specified an invalid version of kde4 to build.
			echo Please pick one of: ${VERSIONS[*]}
			exit
		fi
	else
		echo Found more than one version of kde4: "${VERSIONS[*]}"
		echo Please select one and run this script again as: `basename $0` \<version\>
		exit
	fi
else
	if [ "$VERSION" != "" ] && [ "$VERSION" != "${VERSIONS[0]}" ]
	then
		echo You selected an invalid version of kde4.
		echo This is the only version I found: ${VERSIONS[0]}
		echo Either pick that, or don\'t explicitly specify a version.
		exit
	else
		echo Selecting version ${VERSIONS[0]}.
		VERSION=${VERSIONS[0]}
	fi
fi

KDE_PACKAGE_SOURCE_DIRS=""
for i in $PACKAGES
do
	SRC_DIR=$KDE_SRC/$i-$VERSION
	if [ ! -d $SRC_DIR ]
	then
		if [ "$i" == "kdelibs" ] || [ "$i" == "kdebase" ]
		then
			echo Source missing for $i-$VERSION.
			echo This is a fatal error, exiting.
			exit
		else
			if [ "$VERSION" == "svn" ]
			then
				echo Checking out $i svn.
				if [ "$i" == "strigi" ]
				then
					svn co svn://anonsvn.kde.org/home/kde/trunk/kdesupport/strigi $SRC_DIR
				else
					svn co svn://anonsvn.kde.org/home/kde/trunk/KDE/$i $SRC_DIR
				fi
			else
				echo Source missing for $i-$VERSION.
				echo Skipping...
			fi
		fi
	else
		if [ "$VERSION" == "svn" ]
		then
			echo Updating $i svn.
			svn cleanup $SRC_DIR
			svn up $SRC_DIR
		fi

		KDE_PACKAGE_SOURCE_DIRS="$KDE_PACKAGE_SOURCE_DIRS $SRC_DIR"
	fi
done

for i in $KDE_PACKAGE_SOURCE_DIRS
do
	PACKAGE=`basename $i | cut -f1 -d-`
	BUILD_DIR=`echo $i | sed -e $OBJ_REPLACEMENT`

	echo Building: $PACKAGE.

	if [ ! -d "$i" ]
	then
		echo 
	fi
	
	if [ ! -d "$BUILD_DIR" ]
	then
		echo Creating: `echo $BUILD_DIR | sed s,$HOME/,,`
		mkdir -p $BUILD_DIR
	fi

	if [ ! -d $i ]
	then
		if [ "$PACKAGE" == "kdelibs" ] || [ "$PACKAGE" == "kdebase" ]
		then
			echo Failed: $PACKAGE.
			echo This is a fatal error, exiting.
			exit
		fi

		echo Was expecting $i to exist as a directory, skipping $PACKAGE
		continue
	else
		echo Running: cmakekde `echo $i | sed -e s,$HOME/,,`
		cd $i
		cmakekde $i
	fi
done

cd $ORIG_DIR

GLOBAL_END=`date +%s`
GLOBAL_TIME=$(($GLOBAL_END-$GLOBAL_START))

get_time GLOBAL_TIME $GLOBAL_START $GLOBAL_END

echo Total Time: $GLOBAL_TIME