#!/bin/bash if [ $# -ne 3 -a $# -ne 4 ]; then echo "usage: $(basename $0) [-f] " echo " -f Force building. Skip license checks" exit 1 fi . "$(dirname $0)/../db-functions" . "$(dirname $0)/../config" FORCE=0 if [ "$1" = "-f" ]; then FORCE=1 shift fi packagename="$1" reponame="$2" _arch="$3" srcpath="$FTP_BASE/sources/" logpath="/var/log/sourceballs/" script_lock create_srcpackage() { if [ -d "$1" ]; then pushd "$1" >/dev/null . "PKGBUILD" if ! [ $FORCE == 1 ] && ! chk_license ${license[@]} ; then #Removed so as not to clutter failed.txt #echo -e "\t$packagename license (${license[@]}) does not require source tarballs" >&2 cleanup 0 else echo "Creating source tarball for $packagename-$pkgver-$pkgrel" fi local logfile="$logpath/$packagename" if ! /usr/bin/makepkg --allsource --ignorearch >"$logfile" 2>&1; then popd >/dev/null /bin/gzip -f -9 "$logfile" die "\tFailed to download source for $packagename-$pkgver-$pkgrel ($reponame-$_arch)" fi /bin/rm -f "$logfile"{,.gz} local pkg_file="${packagename}-${pkgver}-${pkgrel}${SRCEXT}" if [ ! -d "$srcpath" ]; then mkdir -p "$srcpath" fi cp "$pkg_file" "$srcpath" popd >/dev/null return 0 fi } set_umask /bin/mkdir -p "$logpath" cd "$WORKDIR" if [[ "$reponame" = "community" || "$reponame" = "community-testing" ]]; then if /usr/bin/svn export -q "$SVNREPOCOMMUNITY/$packagename" $packagename; then create_srcpackage "$packagename/repos/$reponame-$_arch" else die "\tPackage '$packagename' does not exist in repo '$reponame-$_arch'" fi else if /usr/bin/svn export -q "$SVNREPO/$packagename" $packagename; then create_srcpackage "$packagename/repos/$reponame-$_arch" else die "\tPackage '$packagename' does not exist in repo '$reponame-$_arch'" fi fi script_unlock