diff options
Diffstat (limited to 'src/abslibre-tools')
-rwxr-xr-x | src/abslibre-tools/librestage | 60 |
1 files changed, 28 insertions, 32 deletions
diff --git a/src/abslibre-tools/librestage b/src/abslibre-tools/librestage index e209beb..16dc772 100755 --- a/src/abslibre-tools/librestage +++ b/src/abslibre-tools/librestage @@ -58,48 +58,44 @@ main() { } # Load configuration - load_files libretools - check_vars libretools WORKDIR || return 1 - - load_files makepkg + check_vars libretools WORKDIR ARCHES || return 1 # Load the PKGBUILD source ./PKGBUILD - if [[ $arch == 'any' ]]; then - CARCH='any' - fi # Now for the main routine. staged=false - for _pkgname in "${pkgname[@]}"; do - pkgfile=${_pkgname}-$(get_full_version $_pkgname)-${CARCH}${PKGEXT} - pkgpath="$(find . "$PKGDEST" -maxdepth 1 -type f -name "$pkgfile"|sed 1q)" - - if [[ ! -f "${pkgpath}" ]]; then - continue - else - pkgpath="$(readlink -f "$pkgpath")" - fi + for CARCH in "${ARCHES[@]}" any; do + for _pkgname in "${pkgname[@]}"; do + pkgfile=${_pkgname}-$(get_full_version $_pkgname)-${CARCH}${PKGEXT} + pkgpath="$(find . "$PKGDEST" -maxdepth 1 -type f -name "$pkgfile"|sed 1q)" - msg "Found ${pkgfile}" - - canonical="" # is empty for the first iteration, set after that - for repo in "${repos[@]}"; do - mkdir -p "${WORKDIR}/staging/${repo}" - if [[ -z $canonical ]]; then - canonical="${WORKDIR}/staging/${repo}/${pkgfile}" - cmd=(cp "$pkgpath" "$canonical") - else - cmd=(ln "$canonical" "${WORKDIR}/staging/${repo}/${pkgfile}") - fi - if "${cmd[@]}"; then - msg2 "%s staged on [%s]" "$_pkgname" "$repo" - staged=true + if [[ ! -f "${pkgpath}" ]]; then + continue else - error "Can't put %s on [%s]" "$_pkgname" "$repo" - return 1 + pkgpath="$(readlink -f "$pkgpath")" fi + + msg "Found ${pkgfile}" + + canonical="" # is empty for the first iteration, set after that + for repo in "${repos[@]}"; do + mkdir -p "${WORKDIR}/staging/${repo}" + if [[ -z $canonical ]]; then + canonical="${WORKDIR}/staging/${repo}/${pkgfile}" + cmd=(cp "$pkgpath" "$canonical") + else + cmd=(ln "$canonical" "${WORKDIR}/staging/${repo}/${pkgfile}") + fi + if "${cmd[@]}"; then + msg2 "%s staged on [%s]" "$_pkgname" "$repo" + staged=true + else + error "Can't put %s on [%s]" "$_pkgname" "$repo" + return 1 + fi + done done done |