#!/bin/bash # Lic: GPLv3+ # Author: Nicolas Reynolds # Local release of mips64el packages + clean ABS sync # Called by HOOKLOCALRELEASE # $1 repo # $2+ packages source /etc/makepkg.conf source /etc/libretools.conf libretoolsdir="$(dirname $0)/../" usage() { echo "$0 repo package1 [ package2 ... packageN ]" echo echo " release packages locally on ${PKGDEST}/stage3." echo " and make a clean ABS sync " } ## # usage : get_full_version( $epoch, $pkgver, $pkgrel ) # return : full version spec, including epoch (if necessary), pkgver, pkgrel ## get_full_version() { if [[ $1 -eq 0 ]]; then # zero epoch case, don't include it in version echo $2-$3 else echo $1:$2-$3 fi } repo=$1; shift if [ -z "${repo}" ]; then error "Empty repo" exit 1 fi # Get all needed sources source PKGBUILD fullver=$(get_full_version ${epoch:-0} ${pkgver} ${pkgrel}) pkgs=() makepkg --source -f --skippgpcheck msg "Adding packages to [stage3]..." for name in ${pkgname[@]}; do msg2 "${name} ${fullver}" pkgs+=("${PKGDEST}/${name}-${fullver}-*.pkg.tar.*") done repo-add ${PKGDEST}/stage3.db.tar.gz ${pkgs[@]} librestage ${repo} mkdir -p ${WORKDIR}/abs/${CARCH}/${repo} >/dev/null pushd ${WORKDIR}/abs/${CARCH}/${repo} >/dev/null tar xvf $SRCPKGDEST/${pkgbase:-${pkgname[0]}}-${fullver}${SRCEXT} popd >/dev/null exit $?