diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2013-02-15 13:05:39 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2013-02-15 13:06:29 +0000 |
commit | f197c51d788aacc1be4724521a9842c97b7c9d65 (patch) | |
tree | a6c4d2e439cb51f0ef7a561a50e4f79c0b10e3cb | |
parent | ef25c6cf41970368cce00be35fb5f715086b2c94 (diff) | |
download | abuild-f197c51d788aacc1be4724521a9842c97b7c9d65.tar.gz abuild-f197c51d788aacc1be4724521a9842c97b7c9d65.tar.bz2 abuild-f197c51d788aacc1be4724521a9842c97b7c9d65.tar.xz abuild-f197c51d788aacc1be4724521a9842c97b7c9d65.zip |
buildrepo: speed up by avoiding forks
-rwxr-xr-x | buildrepo.in | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/buildrepo.in b/buildrepo.in index 7ed2643..51031b1 100755 --- a/buildrepo.in +++ b/buildrepo.in @@ -53,12 +53,24 @@ build() { [ -f "$aportsdir/$repo/$i" ] || continue export REPODEST="$repodir" cd "$aportsdir/$repo"/${i%/*} || return 1 - if abuild -k -q up2date 2>/dev/null; then + pkgname= + pkgver= + pkgrel= + subpackages= + . ./APKBUILD + + pkgs= + for subpkg in $pkgname $subpackages; do + pkgfile=${subpkg%:*}-$pkgver-r$pkgrel.apk + if ! [ -f "$REPODEST/$repo/$CARCH/$pkgfile" ]; then + pkgs="$pkgs $pkgfile" + fi + done + if [ -z "$pkgs" ]; then continue fi # try link or copy the files if they are in the ports dir - pkgs=$(abuild listpkg) if all_exist $pkgs; then echo ">>> Copying " $pkgs cp -p -l $pkgs "$repodir/$repo/$arch"/ 2>/dev/null \ |