summaryrefslogtreecommitdiff
path: root/buildrepo.in
diff options
context:
space:
mode:
Diffstat (limited to 'buildrepo.in')
-rwxr-xr-xbuildrepo.in17
1 files changed, 14 insertions, 3 deletions
diff --git a/buildrepo.in b/buildrepo.in
index 5b4133d..2be50e1 100755
--- a/buildrepo.in
+++ b/buildrepo.in
@@ -28,6 +28,14 @@ listpackages() {
done
}
+all_exist() {
+ while [ $# -gt 0 ]; do
+ [ -e "$1" ] || return 1
+ shift 1
+ done
+ return 0
+}
+
build() {
local repo="$1" i indexupdate needbuild
@@ -47,15 +55,18 @@ build() {
continue
fi
+ indexupdate="$indexupdate $i"
+
# try link or copy the files if they are in the ports dir
pkgs=$(abuild listpkg)
- if cp -p -l $pkgs "$repodir/$repo"/ 2>/dev/null \
- || cp -p $pkgs "$repodir/$repo"/ 2>/dev/null; then
+ if all_exist $pkgs; then
echo ">>> Copying " $pkgs
+ cp -p -l $pkgs "$repodir/$repo"/ 2>/dev/null \
+ || cp -p $pkgs "$repodir/$repo"/ \
+ || needbuild="$needbuild $i"
else
needbuild="$needbuild $i"
fi
- indexupdate="$indexupdate $i"
done
# build the postponed packages if any