summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjoerg <joerg>2008-04-04 17:58:59 +0000
committerjoerg <joerg>2008-04-04 17:58:59 +0000
commit0adf33de48ca2bf54dd8b17c39db39f3abc2a1a4 (patch)
treea5993dd1dad7d588506b79c031f921b62378fd27
parent2229d8c5ae006258d37949e3f105ee5886befbc2 (diff)
downloadpkgsrc-0adf33de48ca2bf54dd8b17c39db39f3abc2a1a4.tar.gz
pbulk-0.29:
Add bulkbuild-restart script that checks if error/success files exist and makes sense and continues the previous build if they do.
-rw-r--r--pkgtools/pbulk/Makefile7
-rw-r--r--pkgtools/pbulk/PLIST3
-rw-r--r--pkgtools/pbulk/files/pbulk/scripts/Makefile4
-rwxr-xr-xpkgtools/pbulk/files/pbulk/scripts/bulkbuild-restart32
4 files changed, 41 insertions, 5 deletions
diff --git a/pkgtools/pbulk/Makefile b/pkgtools/pbulk/Makefile
index 8616d82f198..07bcdf0d387 100644
--- a/pkgtools/pbulk/Makefile
+++ b/pkgtools/pbulk/Makefile
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.36 2008/02/26 13:57:51 joerg Exp $
+# $NetBSD: Makefile,v 1.37 2008/04/04 17:58:59 joerg Exp $
-DISTNAME= pbulk-0.28
+DISTNAME= pbulk-0.29
CATEGORIES= pkgtools
MASTER_SITES= # empty
DISTFILES= # empty
@@ -34,7 +34,8 @@ SUBST_CLASSES+= tools
SUBST_STAGE.tools= post-patch
SUBST_MESSAGE.tools= Fixing references to tools
SUBST_FILES.tools= pbulk.conf scripts/build scripts/build-client-start \
- scripts/bulkbuild scripts/bulkbuild-rebuild scripts/client-clean \
+ scripts/bulkbuild scripts/bulkbuild-rebuild scripts/bulkbuild-restart \
+ scripts/client-clean \
scripts/pkg-build scripts/pkg-up-to-date scripts/pre-build \
scripts/report scripts/scan scripts/scan-client-start scripts/upload \
scripts/compute-packages.awk scripts/create-broken-graph.awk \
diff --git a/pkgtools/pbulk/PLIST b/pkgtools/pbulk/PLIST
index e083d26328b..8a04c96d0a5 100644
--- a/pkgtools/pbulk/PLIST
+++ b/pkgtools/pbulk/PLIST
@@ -1,6 +1,7 @@
-@comment $NetBSD: PLIST,v 1.2 2008/01/26 01:57:00 joerg Exp $
+@comment $NetBSD: PLIST,v 1.3 2008/04/04 17:58:59 joerg Exp $
bin/bulkbuild
bin/bulkbuild-rebuild
+bin/bulkbuild-restart
bin/pbulk-build
bin/pbulk-resolve
bin/pbulk-scan
diff --git a/pkgtools/pbulk/files/pbulk/scripts/Makefile b/pkgtools/pbulk/files/pbulk/scripts/Makefile
index a49ed05d5e4..09467460c48 100644
--- a/pkgtools/pbulk/files/pbulk/scripts/Makefile
+++ b/pkgtools/pbulk/files/pbulk/scripts/Makefile
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.2 2008/01/26 01:57:00 joerg Exp $
+# $NetBSD: Makefile,v 1.3 2008/04/04 17:58:59 joerg Exp $
SCRIPTS= build build-client-start bulkbuild bulkbuild-rebuild \
+ bulkbuild-restart \
client-clean pkg-build pkg-up-to-date pre-build report \
scan scan-client-start upload \
compute-packages.awk create-broken-graph.awk \
@@ -10,5 +11,6 @@ SCRIPTS= build build-client-start bulkbuild bulkbuild-rebuild \
SCRIPTSDIR= ${PREFIX}/libexec/pbulk
SCRIPTSDIR_bulkbuild= ${PREFIX}/bin
SCRIPTSDIR_bulkbuild-rebuild= ${PREFIX}/bin
+SCRIPTSDIR_bulkbuild-restart= ${PREFIX}/bin
.include <bsd.prog.mk>
diff --git a/pkgtools/pbulk/files/pbulk/scripts/bulkbuild-restart b/pkgtools/pbulk/files/pbulk/scripts/bulkbuild-restart
new file mode 100755
index 00000000000..3b114d03d54
--- /dev/null
+++ b/pkgtools/pbulk/files/pbulk/scripts/bulkbuild-restart
@@ -0,0 +1,32 @@
+#!@SH@
+# $NetBSD: bulkbuild-restart,v 1.1 2008/04/04 17:58:59 joerg Exp $
+
+. @PBULK_CONFIG@
+
+set -e
+
+check_list() {
+ while read pkg
+ do
+ grep -q "^PKGNAME=${pkg}$" ${loc}/presolve && continue
+ return 1
+ done < "$1"
+ return 0
+}
+
+if [ ! -e ${loc}/success -o ! -e ${loc}/error ]; then
+ restart_build=no
+elif ! check_list ${loc}/success; then
+ restart_build=no
+elif ! check_list ${loc}/error; then
+ restart_build=no
+else
+ restart_build=yes
+fi
+if [ "$restart_build" = "no" ]; then
+ ${script_phase_pre_build}
+ ${script_phase_scan}
+fi
+${script_phase_build}
+${script_phase_report}
+${script_phase_upload}