App-BS

 view release on metacpan or  search on metacpan

script/makepkgs.sh  view on Meta::CPAN


  [[ $? -ne 0 ]] && return $?
  echo "$pkgrepo/$pkgbase"
}

get_pkgbuild() {
  local pkg="$1"
  #local target="$2"
  
  (cd $BS_ROOT/pkgbuild

   pkgctl repo clone --protocol=https "$pkg"
   [[ "$?" -eq 0 ]] && return 0

   aur fetch -r "$pkg"
   [[ "$?" -eq 0 ]] && return 0
  
   return $?)
}

sync_pkgbuild() {
  local pkg="$1"

  (cd $pkg || return $?
  
   git stash -a
   git pull --all)
}

#sync_pkgbuild() {
#  (pkg="$1"
#   target="$2"
#   currbranch="$(git branch)" 
#  
#  cd "$BS_ROOT/pkgbuild/$pkg"
#
#   git switch -c buildpkg-$(epoch)
#   git add -A
#   git commit -S -m "Unsynced changed prior to running buildpkg.sh"
#
#   if [[ ! -d "$BS_ROOT/pkgmeta/$(basename $pkg)" ]]; then
#     git clone --bare . "$BS_ROOT/pkgmeta/$(basename $pkg)"
#     git remote add bs-pkgmeta "$BS_ROOT/pkgmeta/$(basename $pkg)"
#   else
#     git push bs-pkgmeta --all
#     [[ $? -ne 0 ]] && git push --all "$BS_ROOT/pkgmeta/$(basename $pkg)"
#   fi
#
#   git pull --all -f --rebase
#   git mergetool
#   git rebase --continue
#
#   return $?)
#}

run_makepkg() {
  local pkg="$1"

  (cd "$BS_ROOT/pkgbuild/$pkgbase" || continue

    gpg --import keys/pgp/*
    makepkg --allsource
    makepkg -LAfis

    [[ $? -ne 0 ]] && failures+=("$pkgbase")

    echo "$(makepkg --packagelist)" \
      >> "makepkgs_success_$(date +%s).txt"

    cd "$BS_ROOT/pkgbuild")
}

makepkgs() {
  for pkg in $@; do
    local repopkgbase_str="$(resolve_pkgbase "$pkg")"
    local pkgbase="$(parse_repopkgstr "$pkg")"

    if [[ -d "$pkgbase" ]]; then
      sync_pkgbuild "$pkgbase"
    else
      get_pkgbuild "$pkgbase"
    fi
    
    [[ $? -ne 0 ]] && continue

    run_makepkg "$pkg"

  done 2>&1 | tee -a "makepkg_error_$startts.txt";

  echo "" >> "makepkg_error_$startts.txt"
  
  echo "==========================================" \
    >> "makepkg_error_$startts.txt"
  
  echo "${failures[@]}" >> "makepkg_error_$startts.txt"
}

makepkgs "$@"



( run in 0.891 second using v1.01-cache-2.11-cpan-df04353d9ac )