#!/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}) if [ $? -ne 0 ]; then error "Failed to read pkgver from $1" return 1 fi pkgrel=$(. PKGBUILD; echo ${pkgrel}) if [ $? -ne 0 ]; then error "Failed to read pkgrel from $1" return 1 fi license=($(. PKGBUILD; echo ${license[@]})) if [ $? -ne 0 ]; then error "Failed to read license from $1" return 1 fi if ! [ $FORCE == 1 ] && ! chk_license ${license[@]} ; then # Removed so as not to clutter failed.txt #warning "$packagename license (${license[@]}) does not require source tarballs" return 0 else msg "Creating source tarball for $packagename-$pkgver-$pkgrel" fi local logfile="${LOGDIR}/sourceballs/$packagename" if ! /usr/bin/makepkg --allsource --ignorearch >"$logfile" 2>&1; then error "Failed to download source for $packagename-$pkgver-$pkgrel ($reponame-$arch)" popd >/dev/null return 1 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" failed=0 if /usr/bin/svn export -q "$SVNREPO/$packagename" $packagename; then create_srcpackage "$packagename/repos/$reponame-$arch" || failed=1 else error "Package '$packagename' does not exist in repo '$reponame-$arch'" failed=1 fi script_unlock exit $failed