#!/usr/bin/env bash # Local release of mips64el packages + clean ABS sync # Called by HOOKLOCALRELEASE # Copyright (C) 2011 Joshua Ismael Haase Hernández (xihh) # Copyright (C) 2011-2012 Nicolás Reynolds # Copyright (C) 2013 Luke Shumaker # # License: GNU GPLv3+ # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # $1 repo # $2+ packages . libremessages . "$(librelib conf.sh)" load_files makepkg check_vars makepkg CARCH PKGDEST PKGEXT || exit 1 load_files libretools check_vars libretools WORKDIR || exit 1 usage() { echo "$0 repo" echo echo " release packages locally on \${PKGDEST}/stage3." echo " and make a clean ABS sync " } main() { if [[ $# != 1 ]]; then usage exit 1 fi repo=$1 if [ -z "${repo}" ]; then error "Empty repo" exit 1 fi # Get all needed sources load_PKGBUILD pkgs=() makepkg --source -f --skippgpcheck -c msg "Adding packages to [stage3]..." for name in "${pkgname[@]}"; do msg2 "${name} $(get_full_version $name)" pkgs+=(${PKGDEST}/${name}-$(get_full_version $name)-*.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]}}-$(get_full_version)${SRCEXT} popd >/dev/null exit $? } main "$@"