#!/bin/bash if [ $# -ne 3 -a $# -ne 4 ]; then msg "usage: $(basename $0) [-f] " msg " -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" script_lock create_srcpackage() { if [ -d "$1" ]; then pushd "$1" >/dev/null pkgver=$(. PKGBUILD; echo ${pkgver}) pkgrel=$(. PKGBUILD; echo ${pkgrel}) license=($(. PKGBUILD; echo ${license[@]})) if ! [ $FORCE == 1 ] && ! chk_license ${license[@]} ; then # Removed so as not to clutter failed.txt #warning "$packagename license (${license[@]}) does not require source tarballs" cleanup 0 else msg "Creating source tarball for $packagename-$pkgver-$pkgrel" fi local logfile="${LOGDIR}/sourceballs/$packagename.gz" if ! /usr/bin/makepkg --allsource --ignorearch 2>&1 | gzip >"$logfile"; then die "Failed to download source for $packagename-$pkgver-$pkgrel ($reponame-$arch)" fi /bin/rm -f "$logfile" local pkg_file="${packagename}-${pkgver}-${pkgrel}${SRCEXT}" mv "$pkg_file" "${FTP_BASE}/${SRCPOOL}" popd >/dev/null return 0 fi } set_umask [ ! -d "${LOGDIR}/sourceballs" ] && mkdir -p "${LOGDIR}/sourceballs" cd "$WORKDIR" if /usr/bin/svn export -q "$SVNREPO/$packagename" $packagename; then create_srcpackage "$packagename/repos/$reponame-$arch" else die "Package '$packagename' does not exist in repo '$reponame-$arch'" fi script_unlock