diff options
Diffstat (limited to 'fullpkg')
-rwxr-xr-x | fullpkg | 16 |
1 files changed, 9 insertions, 7 deletions
@@ -1,8 +1,8 @@ #!/bin/bash # TODO -# * Do version checking # * Detect circular builds # * Detect pkgnames by provides, replaces, etc. instead of dir tree +# * Detect package repo [[ ! -r PKGBUILD ]] && { echo "This isn't a build directory" @@ -102,9 +102,7 @@ quit() { source PKGBUILD msg ":: Building ${pkgbase:-${pkgname[@]}}" -# is_built doesn't support version checking -#is_built ${pkgbase:-${pkgname[0]}}=${pkgver} && exit 0 -is_built ${pkgbase:-${pkgname[0]}} && exit 0 +is_built "${pkgbase:-${pkgname[0]}}>=${pkgver}" && exit 0 #sudo pacman -Sy @@ -142,16 +140,20 @@ plain "${deps[@]}" #sudo pacman -Sy for _dep in ${deps[@]}; do - is_built $_dep && continue is_banned $_dep && continue for _repo in ${REPOS[@]}; do # TODO find split packages [[ -e "$ABSROOT/${_repo}/$_dep/PKGBUILD" ]] && { -# source "$ABSROOT/${_repo}/$_dep/PKGBUILD" + source "$ABSROOT/${_repo}/$_dep/PKGBUILD" + msg "Checking for $_dep>=$pkgver" # If this version is built, continue with the next dep -# is_built $_dep=$pkgver && continue 2 + + if is_built "$_dep>=$pkgver"; then + msg "No need to build this one" + break + fi cp -r "$ABSROOT/$_repo/$_dep" $tmp_dir/ || { error "Can't copy $_dep to the work dir." |