Index: pkgtools/pbulk/files/pbulk/lib/netaddr.c =================================================================== RCS file: /cvsroot/pkgsrc/pkgtools/pbulk/files/pbulk/lib/netaddr.c,v retrieving revision 1.7 diff -u -r1.7 netaddr.c --- pkgtools/pbulk/files/pbulk/lib/netaddr.c 21 Feb 2008 14:40:43 -0000 1.7 +++ pkgtools/pbulk/files/pbulk/lib/netaddr.c 24 Jul 2013 12:45:59 -0000 @@ -68,6 +68,7 @@ tmp = strtoul(str, &port_end, 10); if (*str == '\0' || *port_end != '\0' || errno != 0 || tmp > 0xfffful) return -1; + memset(addr, 0, sizeof(struct sockaddr_in)); addr->sin_port = htons((in_port_t)tmp); addr->sin_addr = in; #if !defined(__sun) && !defined(__hpux) && !defined(__INTERIX) && \ Index: pkgtools/pbulk/files/pbulk/pbuild/master.c =================================================================== RCS file: /cvsroot/pkgsrc/pkgtools/pbulk/files/pbulk/pbuild/master.c,v retrieving revision 1.9 diff -u -r1.9 master.c --- pkgtools/pbulk/files/pbulk/pbuild/master.c 14 Jan 2013 14:33:28 -0000 1.9 +++ pkgtools/pbulk/files/pbulk/pbuild/master.c 24 Jul 2013 12:45:59 -0000 @@ -293,6 +293,7 @@ { struct sockaddr_in dst; int fd; + int sockopt = 1; LIST_INIT(&active_peers); LIST_INIT(&inactive_peers); @@ -308,6 +309,9 @@ err(1, "Could not create socket"); if (fcntl(fd, F_SETFD, FD_CLOEXEC) == -1) err(1, "Could not set close-on-exec flag"); + if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &sockopt, + sizeof(sockopt)) == -1) + err(1, "Could not set SO_REUSEADDR"); if (bind(fd, (struct sockaddr *)&dst, sizeof(dst)) == -1) err(1, "Could not bind socket"); if (listen(fd, 5) == -1) Index: pkgtools/pbulk/files/pbulk/pscan/jobs.c =================================================================== RCS file: /cvsroot/pkgsrc/pkgtools/pbulk/files/pbulk/pscan/jobs.c,v retrieving revision 1.7 diff -u -r1.7 jobs.c --- pkgtools/pbulk/files/pbulk/pscan/jobs.c 30 Nov 2012 16:22:49 -0000 1.7 +++ pkgtools/pbulk/files/pbulk/pscan/jobs.c 24 Jul 2013 12:45:59 -0000 @@ -279,6 +279,16 @@ } void +add_job_pkgpath(const char *pkgpath, size_t pkgpath_len) +{ + char *location; + + location = xasprintf("%.*s", (int)pkgpath_len, pkgpath); + add_job_full(location); + free(location); +} + +void add_job_full(const char *location) { if (len_jobs == allocated_jobs) { Index: pkgtools/pbulk/files/pbulk/pscan/master.c =================================================================== RCS file: /cvsroot/pkgsrc/pkgtools/pbulk/files/pbulk/pscan/master.c,v retrieving revision 1.8 diff -u -r1.8 master.c --- pkgtools/pbulk/files/pbulk/pscan/master.c 14 Jan 2013 14:33:28 -0000 1.8 +++ pkgtools/pbulk/files/pbulk/pscan/master.c 24 Jul 2013 12:45:59 -0000 @@ -40,6 +40,7 @@ #include #include #include +#include #include #include #include @@ -245,6 +246,7 @@ { struct sockaddr_in dst; int fd; + int sockopt = 1; LIST_INIT(&active_peers); LIST_INIT(&inactive_peers); @@ -259,6 +261,9 @@ err(1, "Could not create socket"); if (fcntl(fd, F_SETFD, FD_CLOEXEC) == -1) err(1, "Could not set close-on-exec flag"); + if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &sockopt, + sizeof(sockopt)) == -1) + err(1, "Could not set SO_REUSEADDR"); if (bind(fd, (struct sockaddr *)&dst, sizeof(dst)) == -1) err(1, "Could not bind socket"); if (listen(fd, 5) == -1) Index: pkgtools/pbulk/files/pbulk/pscan/pscan.c =================================================================== RCS file: /cvsroot/pkgsrc/pkgtools/pbulk/files/pbulk/pscan/pscan.c,v retrieving revision 1.8 diff -u -r1.8 pscan.c --- pkgtools/pbulk/files/pbulk/pscan/pscan.c 23 Nov 2012 12:13:35 -0000 1.8 +++ pkgtools/pbulk/files/pbulk/pscan/pscan.c 24 Jul 2013 12:45:59 -0000 @@ -207,6 +207,7 @@ char *cat_path; char *buf, *buf_orig, *cat, *cat_orig; size_t buf_len, cat_len; + int count, i; buf = read_from_child(pkgsrc_tree, bmake_path, extract_subdir); @@ -220,6 +221,19 @@ if (cat_len == 0) break; + /* + * Check for SUBDIR including a '/', if so we assume it has + * been passed as part of SPECIFIC_PKGS or USER_ADDITIONAL_PKGS + * and should be added as a package path directly. + */ + for (count = i = 0; i < cat_len; i++) + count += (cat[i] == '/'); + if (count) { + add_job_pkgpath(cat, cat_len); + cat += cat_len; + continue; + } + cat_path = xasprintf("%s/%.*s", pkgsrc_tree, (int)cat_len, cat); buf_orig = buf = read_from_child(cat_path, bmake_path, extract_subdir); free(cat_path); Index: pkgtools/pbulk/files/pbulk/pscan/pscan.h =================================================================== RCS file: /cvsroot/pkgsrc/pkgtools/pbulk/files/pbulk/pscan/pscan.h,v retrieving revision 1.3 diff -u -r1.3 pscan.h --- pkgtools/pbulk/files/pbulk/pscan/pscan.h 23 Nov 2012 12:13:35 -0000 1.3 +++ pkgtools/pbulk/files/pbulk/pscan/pscan.h 24 Jul 2013 12:45:59 -0000 @@ -56,6 +56,7 @@ void master_mode(const char *, const char *); void add_job(const char *, size_t, const char *, size_t); +void add_job_pkgpath(const char *, size_t); void add_job_full(const char *); struct scan_job *get_job(void); void process_job(struct scan_job *, enum job_state); Index: pkgtools/pbulk/files/pbulk/scripts/build =================================================================== RCS file: /cvsroot/pkgsrc/pkgtools/pbulk/files/pbulk/scripts/build,v retrieving revision 1.5 diff -u -r1.5 build --- pkgtools/pbulk/files/pbulk/scripts/build 16 Sep 2008 18:21:30 -0000 1.5 +++ pkgtools/pbulk/files/pbulk/scripts/build 24 Jul 2013 12:45:59 -0000 @@ -30,7 +30,7 @@ # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. -. @PBULK_CONFIG@ +. ${PBULK_CONF:-@PBULK_CONFIG@} set -e @@ -58,7 +58,7 @@ echo "Building pkg_summary..." cd ${packages}/All -sed 's/$/.tgz/' < ${loc}/success | sort | xargs ${pkg_info} -X | ${gzip} -c > pkg_summary.gz +${packages_script} ${loc} pkgonly | sort | xargs ${pkg_info} -X | ${gzip} -c > pkg_summary.gz ${gzip} -dc < pkg_summary.gz | ${bzip2} -c > pkg_summary.bz2 if [ "${checksum_packages}" != "no" ] && \ @@ -68,6 +68,7 @@ { echo "All/pkg_summary.bz2" echo "All/pkg_summary.gz" - sed 's|^\(.*\)$|All/\1.tgz|' < ${loc}/success + ls -1 All/*.tgz 2>/dev/null + #sed 's|^\(.*\)$|All/\1.tgz|' < ${loc}/success } | sort | xargs ${digest} SHA512 | ${bzip2} -c > SHA512.bz2 fi Index: pkgtools/pbulk/files/pbulk/scripts/build-client-start =================================================================== RCS file: /cvsroot/pkgsrc/pkgtools/pbulk/files/pbulk/scripts/build-client-start,v retrieving revision 1.2 diff -u -r1.2 build-client-start --- pkgtools/pbulk/files/pbulk/scripts/build-client-start 16 Sep 2008 18:21:30 -0000 1.2 +++ pkgtools/pbulk/files/pbulk/scripts/build-client-start 24 Jul 2013 12:45:59 -0000 @@ -1,7 +1,7 @@ #!@SH@ # $NetBSD: build-client-start,v 1.2 2008/09/16 18:21:30 joerg Exp $ -. @PBULK_CONFIG@ +. ${PBULK_CONF:-@PBULK_CONFIG@} set -e @@ -11,6 +11,45 @@ exit 1 fi -for client in ${build_clients}; do - ssh $client "${pbuild} -c ${master_port_build} -b ${pbuild_script}" & -done +if [ -n "${build_clients}" ]; then + for client in ${build_clients}; do + if [ -n "${chroot_create}" -a \ + -n "${chroot_delete}" -a \ + -n "${chroot_dir}" ]; then + if [ -n "${build_chroots}" -a ${build_chroots} -gt 1 ]; then + ssh $client " + i=1 + while true; do + { ${chroot_create} ${chroot_dir}-build-\${i}; PBULK_CONF=${PBULK_CONF} /usr/sbin/chroot ${chroot_dir}-build-\${i} @SH@ -c \"${pbuild} -c ${master_port_build} -b ${pbuild_script}\"; ${chroot_delete} ${chroot_dir}-build-\${i}; } & + i=\`expr \$i + 1\` + if [ \$i -gt ${build_chroots} ]; then + break + fi + done" & + else + ssh $client "${chroot_create} ${chroot_dir}-build; PBULK_CONF=${PBULK_CONF} /usr/sbin/chroot ${chroot_dir}-build @SH@ -c \"${pbuild} -c ${master_port_build} -b ${pbuild_script}\"; ${chroot_delete} ${chroot_dir}-build" & + fi + else + ssh $client "PBULK_CONF=${PBULK_CONF} ${pbuild} -c ${master_port_build} -b ${pbuild_script}" & + fi + done +else + if [ -n "${chroot_create}" -a \ + -n "${chroot_delete}" -a \ + -n "${chroot_dir}" ]; then + if [ -n "${build_chroots}" -a ${build_chroots} -gt 1 ]; then + i=1 + while true; do + { ${chroot_create} ${chroot_dir}-build-${i}; PBULK_CONF=${PBULK_CONF} /usr/sbin/chroot ${chroot_dir}-build-${i} @SH@ -c "${pbuild} -c ${master_port_build} -b ${pbuild_script}"; ${chroot_delete} ${chroot_dir}-build-${i}; } & + i=`expr $i + 1` + if [ $i -gt ${build_chroots} ]; then + break + fi + done + else + { ${chroot_create} ${chroot_dir}-build; PBULK_CONF=${PBULK_CONF} /usr/sbin/chroot ${chroot_dir}-build @SH@ -c \"${pbuild} -c ${master_port_build} -b ${pbuild_script}\"; ${chroot_delete} ${chroot_dir}-build; } & + fi + else + PBULK_CONF=${PBULK_CONF} ${pbuild} -c ${master_port_build} -b ${pbuild_script} & + fi +fi Index: pkgtools/pbulk/files/pbulk/scripts/bulkbuild =================================================================== RCS file: /cvsroot/pkgsrc/pkgtools/pbulk/files/pbulk/scripts/bulkbuild,v retrieving revision 1.1.1.1 diff -u -r1.1.1.1 bulkbuild --- pkgtools/pbulk/files/pbulk/scripts/bulkbuild 19 Jun 2007 19:49:59 -0000 1.1.1.1 +++ pkgtools/pbulk/files/pbulk/scripts/bulkbuild 24 Jul 2013 12:45:59 -0000 @@ -1,7 +1,21 @@ #!@SH@ # $NetBSD: bulkbuild,v 1.1.1.1 2007/06/19 19:49:59 joerg Exp $ -. @PBULK_CONFIG@ +if [ "$1" = "-h" ]; then + echo "usage: $0 [-h] []" + exit 2 +elif [ -f "$1" ]; then + case "$1" in + /*) + export PBULK_CONF="$1"; shift + ;; + *) + export PBULK_CONF="$(pwd)/$1"; shift + ;; + esac +fi + +. ${PBULK_CONF:-@PBULK_CONFIG@} set -e Index: pkgtools/pbulk/files/pbulk/scripts/bulkbuild-rebuild =================================================================== RCS file: /cvsroot/pkgsrc/pkgtools/pbulk/files/pbulk/scripts/bulkbuild-rebuild,v retrieving revision 1.3 diff -u -r1.3 bulkbuild-rebuild --- pkgtools/pbulk/files/pbulk/scripts/bulkbuild-rebuild 16 Sep 2008 18:21:30 -0000 1.3 +++ pkgtools/pbulk/files/pbulk/scripts/bulkbuild-rebuild 24 Jul 2013 12:45:59 -0000 @@ -1,7 +1,21 @@ #!@SH@ # $NetBSD: bulkbuild-rebuild,v 1.3 2008/09/16 18:21:30 joerg Exp $ -. @PBULK_CONFIG@ +if [ "$1" = "-h" ]; then + echo "Usage: $0 [-h] [] package ..." + exit 2 +elif [ -f "$1" ]; then + case "$1" in + /*) + export PBULK_CONF="$1"; shift + ;; + *) + export PBULK_CONF="$(pwd)/$1"; shift + ;; + esac +fi + +. ${PBULK_CONF:-@PBULK_CONFIG@} set -e @@ -33,7 +47,7 @@ } if [ $# = 0 ]; then - echo "Usage: $0 package ..." + echo "Usage: $0 [-h] [] package ..." fi while [ $# != 0 ]; do Index: pkgtools/pbulk/files/pbulk/scripts/bulkbuild-restart =================================================================== RCS file: /cvsroot/pkgsrc/pkgtools/pbulk/files/pbulk/scripts/bulkbuild-restart,v retrieving revision 1.3 diff -u -r1.3 bulkbuild-restart --- pkgtools/pbulk/files/pbulk/scripts/bulkbuild-restart 8 Oct 2008 16:43:34 -0000 1.3 +++ pkgtools/pbulk/files/pbulk/scripts/bulkbuild-restart 24 Jul 2013 12:45:59 -0000 @@ -1,7 +1,21 @@ #!@SH@ # $NetBSD: bulkbuild-restart,v 1.3 2008/10/08 16:43:34 joerg Exp $ -. @PBULK_CONFIG@ +if [ "$1" = "-h" ]; then + echo "usage: $0 [-h] []" + exit 2 +elif [ -f "$1" ]; then + case "$1" in + /*) + export PBULK_CONF="$1"; shift + ;; + *) + export PBULK_CONF="$(pwd)/$1"; shift + ;; + esac +fi + +. ${PBULK_CONF:-@PBULK_CONFIG@} set -e Index: pkgtools/pbulk/files/pbulk/scripts/client-clean =================================================================== RCS file: /cvsroot/pkgsrc/pkgtools/pbulk/files/pbulk/scripts/client-clean,v retrieving revision 1.9 diff -u -r1.9 client-clean --- pkgtools/pbulk/files/pbulk/scripts/client-clean 16 Sep 2008 18:21:30 -0000 1.9 +++ pkgtools/pbulk/files/pbulk/scripts/client-clean 24 Jul 2013 12:45:59 -0000 @@ -1,7 +1,7 @@ #!@SH@ # $NetBSD: client-clean,v 1.9 2008/09/16 18:21:30 joerg Exp $ -. @PBULK_CONFIG@ +. ${PBULK_CONF:-@PBULK_CONFIG@} set -e Index: pkgtools/pbulk/files/pbulk/scripts/compute-packages.awk =================================================================== RCS file: /cvsroot/pkgsrc/pkgtools/pbulk/files/pbulk/scripts/compute-packages.awk,v retrieving revision 1.4 diff -u -r1.4 compute-packages.awk --- pkgtools/pbulk/files/pbulk/scripts/compute-packages.awk 20 May 2012 20:12:02 -0000 1.4 +++ pkgtools/pbulk/files/pbulk/scripts/compute-packages.awk 24 Jul 2013 12:45:59 -0000 @@ -30,19 +30,9 @@ # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. -function mark_restricted(PKG, dep, depend_list) { - if (PKG in restricted) - return - - restricted[PKG] = 1 - - split(reverse_depends[PKG], depend_list, "[ \t]+") - for (dep in depend_list) - mark_restricted(depend_list[dep]) -} - BEGIN { meta_dir = ARGV[1] + output_format = ARGV[2] success_file = meta_dir "/success" presolve_file = meta_dir "/presolve" @@ -59,7 +49,7 @@ status[cur] = substr($0, 14) if ($0 ~ "^NO_BIN_ON_FTP=.") - initial_restricted[cur] = 1 + restricted[cur] = 1 if ($0 ~ "^DEPENDS=") depends[cur] = substr($0, 9) @@ -74,13 +64,15 @@ } } - for (pkg in initial_restricted) - mark_restricted(pkg) - while ((getline pkg < success_file) > 0) { # skip restricted packages if (pkg in restricted) continue; + # output format suitable for pkg_summary generation + if (output_format == "pkgonly") { + print pkg ".tgz" + continue + } # build category/file list split(categories[pkg], cats, "[ \t]+") cats[0] = "All" Index: pkgtools/pbulk/files/pbulk/scripts/pkg-build =================================================================== RCS file: /cvsroot/pkgsrc/pkgtools/pbulk/files/pbulk/scripts/pkg-build,v retrieving revision 1.25 diff -u -r1.25 pkg-build --- pkgtools/pbulk/files/pbulk/scripts/pkg-build 23 Nov 2012 12:13:35 -0000 1.25 +++ pkgtools/pbulk/files/pbulk/scripts/pkg-build 24 Jul 2013 12:45:59 -0000 @@ -30,7 +30,7 @@ # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. -. @PBULK_CONFIG@ +. ${PBULK_CONF:-@PBULK_CONFIG@} if [ "${config_version}" != "@PBULK_CONFIG_VERSION@" ]; then echo "Your configuration has version ${config_version}." @@ -40,17 +40,20 @@ cleanup() { if [ "$keep_wrkdir" = yes ]; then - ${make} pbulk-save-wrkdir INTO=${bulklog}/${pkgname}/wrkdir.tar.gz TAR="${tar}" + ${make} pbulk-save-wrkdir INTO=${logpkgdir}/wrkdir.tar.gz TAR="${tar}" fi - if [ "$keep_prefix" = yes ] && [ -f ${bulklog}/${pkgname}/install.log ]; then + if [ "$keep_prefix" = yes ] && [ -f ${logpkgdir}/install.log ]; then if [ "$cross_compile" != "no" ]; then cur_destdir=${target_destdir} else cur_destdir= fi - ${tar} -czf ${bulklog}/${pkgname}/prefix.tar.gz ${cur_destdir}${prefix} + ${tar} -czf ${logpkgdir}/prefix.tar.gz ${cur_destdir}${prefix} fi ${make} clean > /dev/null 2>&1 || true + if [ -n "${local_bulklog}" ]; then + mv ${logpkgdir} ${bulklog}/${pkgname} + fi exit 1 } @@ -65,7 +68,7 @@ BATCH=1 \ DEPENDS_TARGET=/nonexistent \ ${MAKE_FLAGS} \ - WRKLOG=${bulklog}/${pkgname}/work.log + WRKLOG=${logpkgdir}/work.log } @@ -109,6 +112,14 @@ esac done +# Sometimes writing logs to NFS can cause issues, support writing to a local +# bulklog directory before moving to NFS at the end. +if [ -n "${local_bulklog}" ]; then + logpkgdir="${local_bulklog}/${pkgname}" +else + logpkgdir="${bulklog}/${pkgname}" +fi + case "$use_destdir" in user-destdir) run_build=run_su @@ -136,12 +147,12 @@ @PREFIX@/libexec/pbulk/client-clean # Create the output directory and clean it up -mkdir -p ${bulklog}/${pkgname} -rm -f ${bulklog}/${pkgname}/* +mkdir -p ${logpkgdir} +rm -f ${logpkgdir}/* if [ "$use_destdir" = "destdir" -o "$use_destdir" = "user-destdir" ]; then - touch ${bulklog}/${pkgname}/work.log - @CHOWN@ ${unprivileged_user} ${bulklog}/${pkgname}/work.log + touch ${logpkgdir}/work.log + @CHOWN@ ${unprivileged_user} ${logpkgdir}/work.log fi pkg_add_normal() { @@ -172,20 +183,20 @@ # Go to target directory cd ${pkgsrc}/${pkgdir} # Clean build area, just in case -${make} clean > ${bulklog}/${pkgname}/pre-clean.log 2>&1 +${make} clean > ${logpkgdir}/pre-clean.log 2>&1 || cleanup # Install all dependencies the package said it would need if [ ! -z "$dependencies" ]; then - ${pkg_add_cmd} $dependencies > ${bulklog}/${pkgname}/depends.log 2>&1 + ${pkg_add_cmd} $dependencies > ${logpkgdir}/depends.log 2>&1 || cleanup fi # Build package, create a separate log file for each major phase -run_make run_direct checksum > ${bulklog}/${pkgname}/checksum.log 2>&1 || cleanup -run_usergroup configure > ${bulklog}/${pkgname}/configure.log 2>&1 || cleanup -run_make ${run_build} configure >> ${bulklog}/${pkgname}/configure.log 2>&1 || cleanup -run_usergroup build> ${bulklog}/${pkgname}/build.log 2>&1 || cleanup -run_make ${run_build} all >> ${bulklog}/${pkgname}/build.log 2>&1 || cleanup -run_usergroup install > ${bulklog}/${pkgname}/install.log 2>&1 || cleanup -run_make ${run_install} stage-install >> ${bulklog}/${pkgname}/install.log 2>&1 || cleanup -run_make run_direct package > ${bulklog}/${pkgname}/package.log 2>&1 || cleanup +run_make run_direct checksum > ${logpkgdir}/checksum.log 2>&1 || cleanup +run_usergroup configure > ${logpkgdir}/configure.log 2>&1 || cleanup +run_make ${run_build} configure >> ${logpkgdir}/configure.log 2>&1 || cleanup +run_usergroup build > ${logpkgdir}/build.log 2>&1 || cleanup +run_make ${run_build} all >> ${logpkgdir}/build.log 2>&1 || cleanup +run_usergroup install > ${logpkgdir}/install.log 2>&1 || cleanup +run_make ${run_install} stage-install >> ${logpkgdir}/install.log 2>&1 || cleanup +run_make run_direct package > ${logpkgdir}/package.log 2>&1 || cleanup # When using DESTDIR build, add the package once to test install rules. # This is not done for potential bootstrap packages as they might already @@ -193,21 +204,21 @@ if [ "${use_destdir}" != "no" ] && \ [ -z "${is_bootstrap}" ]; then if ! ${pkg_add_cmd} ${pkgname} \ - >> ${bulklog}/${pkgname}/package.log 2>&1; then + >> ${logpkgdir}/package.log 2>&1; then run_make run_direct package-clean cleanup fi fi # Clean build area -${make} clean > ${bulklog}/${pkgname}/clean.log 2>&1 +${make} clean > ${logpkgdir}/clean.log 2>&1 || cleanup # Test uninstall rules. This is not for cross-compiling as the install script # is not run in that case anyway. This is also not done for packages marked as # part of the bootstrap, those have the preserve flag set. if [ "$cross_compile" = "no" ] && \ [ -z "${is_bootstrap}" ]; then - ${pkg_delete} -K ${cur_pkgdb} ${pkgname} > ${bulklog}/${pkgname}/deinstall.log 2>&1 + ${pkg_delete} -K ${cur_pkgdb} ${pkgname} > ${logpkgdir}/deinstall.log 2>&1 || cleanup fi # Comment the following out if you want to test all deinstall scripts. @@ -215,4 +226,4 @@ #${pkg_delete} -r \* > /dev/null 2>&1 || true # Cleanup build logs on success -rm -R ${bulklog}/${pkgname} +rm -R ${logpkgdir} Index: pkgtools/pbulk/files/pbulk/scripts/pkg-up-to-date =================================================================== RCS file: /cvsroot/pkgsrc/pkgtools/pbulk/files/pbulk/scripts/pkg-up-to-date,v retrieving revision 1.9 diff -u -r1.9 pkg-up-to-date --- pkgtools/pbulk/files/pbulk/scripts/pkg-up-to-date 24 Feb 2010 22:51:37 -0000 1.9 +++ pkgtools/pbulk/files/pbulk/scripts/pkg-up-to-date 24 Jul 2013 12:45:59 -0000 @@ -30,7 +30,7 @@ # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. -. @PBULK_CONFIG@ +. ${PBULK_CONF:-@PBULK_CONFIG@} set -e Index: pkgtools/pbulk/files/pbulk/scripts/pre-build =================================================================== RCS file: /cvsroot/pkgsrc/pkgtools/pbulk/files/pbulk/scripts/pre-build,v retrieving revision 1.11 diff -u -r1.11 pre-build --- pkgtools/pbulk/files/pbulk/scripts/pre-build 23 Nov 2012 12:13:35 -0000 1.11 +++ pkgtools/pbulk/files/pbulk/scripts/pre-build 24 Jul 2013 12:45:59 -0000 @@ -30,7 +30,7 @@ # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. -. @PBULK_CONFIG@ +. ${PBULK_CONF:-@PBULK_CONFIG@} set -e @@ -77,14 +77,23 @@ mkdir -p "${bulklog}" "${loc}" -@PREFIX@/libexec/pbulk/client-clean +if [ -n "${chroot_create}" -a -n "${chroot_delete}" -a -n "${chroot_dir}" ]; then + ${chroot_create} ${chroot_dir}-prebuild + /usr/sbin/chroot ${chroot_dir}-prebuild @SH@ -c "@PREFIX@/libexec/pbulk/client-clean" + opsys=`/usr/sbin/chroot ${chroot_dir}-prebuild @SH@ -c "cd ${pkgsrc}/pkgtools/pkg_install && ${make} show-var VARNAME=OPSYS"` + opver=`/usr/sbin/chroot ${chroot_dir}-prebuild @SH@ -c "cd ${pkgsrc}/pkgtools/pkg_install && ${make} show-var VARNAME=OS_VERSION"` + platform=`/usr/sbin/chroot ${chroot_dir}-prebuild @SH@ -c "cd ${pkgsrc}/pkgtools/pkg_install && ${make} show-var VARNAME=MACHINE_ARCH"` + compiler=`/usr/sbin/chroot ${chroot_dir}-prebuild @SH@ -c "cd ${pkgsrc}/pkgtools/pkg_install && ${make} show-var VARNAME=PKGSRC_COMPILER"` + ${chroot_delete} ${chroot_dir}-prebuild +else + @PREFIX@/libexec/pbulk/client-clean + opsys=`cd ${pkgsrc}/pkgtools/pkg_install && ${make} show-var VARNAME=OPSYS` + opver=`cd ${pkgsrc}/pkgtools/pkg_install && ${make} show-var VARNAME=OS_VERSION` + platform=`cd ${pkgsrc}/pkgtools/pkg_install && ${make} show-var VARNAME=MACHINE_ARCH` + compiler=`cd ${pkgsrc}/pkgtools/pkg_install && ${make} show-var VARNAME=PKGSRC_COMPILER` +fi # Log common settings... -opsys=`cd ${pkgsrc}/pkgtools/pkg_install && ${make} show-var VARNAME=OPSYS` -opver=`cd ${pkgsrc}/pkgtools/pkg_install && ${make} show-var VARNAME=OS_VERSION` -platform=`cd ${pkgsrc}/pkgtools/pkg_install && ${make} show-var VARNAME=MACHINE_ARCH` -compiler=`cd ${pkgsrc}/pkgtools/pkg_install && ${make} show-var VARNAME=PKGSRC_COMPILER` - echo "PLATFORM=${opsys} ${opver}/${platform}" > ${loc}/status echo "COMPILER=${compiler}" >> ${loc}/status Index: pkgtools/pbulk/files/pbulk/scripts/report =================================================================== RCS file: /cvsroot/pkgsrc/pkgtools/pbulk/files/pbulk/scripts/report,v retrieving revision 1.8 diff -u -r1.8 report --- pkgtools/pbulk/files/pbulk/scripts/report 16 Sep 2008 18:21:30 -0000 1.8 +++ pkgtools/pbulk/files/pbulk/scripts/report 24 Jul 2013 12:45:59 -0000 @@ -30,7 +30,7 @@ # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. -. @PBULK_CONFIG@ +. ${PBULK_CONF:-@PBULK_CONFIG@} set -e @@ -107,4 +107,20 @@ [ -f "$file" ] && echo "+ $file" done echo "- *" -} | ${rsync} --exclude-from=- ${report_rsync_args} . ${report_rsync_target}/${build_start_dir} +} | { + if [ -n "${report_manta_target}" ]; then + # Variables sourced from pbulk.conf + export MANTA_USER MANTA_KEY_ID MANTA_URL + PATH=$MANTA_PATH:$PATH + # XXX: rewrite file generation to avoid rsync+tar + ${rsync} -a --exclude-from=- --delete-excluded . /var/tmp/report-$$/ + (cd /var/tmp/report-$$; gtar -cf /var/tmp/manta.tar .) + mput -f /var/tmp/manta.tar /${MANTA_USER}/stor/${report_subject_prefix}-${build_start_dir}.tar + echo /${MANTA_USER}/stor/${report_subject_prefix}-${build_start_dir}.tar \ + | mjob create -qom "muntar -f \$MANTA_INPUT_FILE ${report_manta_target}/${build_start_dir}" + mrm /${MANTA_USER}/stor/${report_subject_prefix}-${build_start_dir}.tar + rm -rf /var/tmp/manta.tar /var/tmp/report-$$ + else + ${rsync} --exclude-from=- ${report_rsync_args} . ${report_rsync_target}/${build_start_dir} + fi +} Index: pkgtools/pbulk/files/pbulk/scripts/scan =================================================================== RCS file: /cvsroot/pkgsrc/pkgtools/pbulk/files/pbulk/scripts/scan,v retrieving revision 1.8 diff -u -r1.8 scan --- pkgtools/pbulk/files/pbulk/scripts/scan 23 Nov 2012 12:13:35 -0000 1.8 +++ pkgtools/pbulk/files/pbulk/scripts/scan 24 Jul 2013 12:45:59 -0000 @@ -30,7 +30,7 @@ # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. -. @PBULK_CONFIG@ +. ${PBULK_CONF:-@PBULK_CONFIG@} set -e Index: pkgtools/pbulk/files/pbulk/scripts/scan-client-start =================================================================== RCS file: /cvsroot/pkgsrc/pkgtools/pbulk/files/pbulk/scripts/scan-client-start,v retrieving revision 1.3 diff -u -r1.3 scan-client-start --- pkgtools/pbulk/files/pbulk/scripts/scan-client-start 23 Nov 2012 12:13:35 -0000 1.3 +++ pkgtools/pbulk/files/pbulk/scripts/scan-client-start 24 Jul 2013 12:45:59 -0000 @@ -1,7 +1,7 @@ #!@SH@ # $NetBSD: scan-client-start,v 1.3 2012/11/23 12:13:35 joerg Exp $ -. @PBULK_CONFIG@ +. ${PBULK_CONF:-@PBULK_CONFIG@} set -e @@ -17,6 +17,45 @@ extra_pscan_args="" fi -for client in ${scan_clients}; do - ssh $client "${pscan_prepare} && ${pscan} -c ${master_port_scan} -M ${make} ${extra_pscan_args} ${pkgsrc}" & -done +if [ -n "${scan_clients}" ]; then + for client in ${scan_clients}; do + if [ -n "${chroot_create}" -a \ + -n "${chroot_delete}" -a \ + -n "${chroot_dir}" ]; then + if [ -n "${scan_chroots}" -a ${scan_chroots} -gt 1 ]; then + ssh $client " + i=1 + while true; do + { ${chroot_create} ${chroot_dir}-scan-\${i}; PBULK_CONF=${PBULK_CONF} /usr/sbin/chroot ${chroot_dir}-scan-\${i} @SH@ -c \"${pscan_prepare} && ${pscan} -c ${master_port_scan} -M ${make} ${extra_pscan_args} ${pkgsrc}\"; ${chroot_delete} ${chroot_dir}-scan-\${i}; } & + i=\`expr \$i + 1\` + if [ \$i -gt ${scan_chroots} ]; then + break + fi + done" & + else + ssh $client "${chroot_create} ${chroot_dir}-scan; PBULK_CONF=${PBULK_CONF} /usr/sbin/chroot ${chroot_dir}-scan @SH@ -c \"${pscan_prepare} && ${pscan} -c ${master_port_scan} -M ${make} ${extra_pscan_args} ${pkgsrc}\"; ${chroot_delete} ${chroot_dir}-scan" & + fi + else + ssh $client "PBULK_CONF=${PBULK_CONF}; export PBULK_CONF; ${pscan_prepare} && ${pscan} -c ${master_port_scan} -M ${make} ${extra_pscan_args} ${pkgsrc}" & + fi + done +else + if [ -n "${chroot_create}" -a \ + -n "${chroot_delete}" -a \ + -n "${chroot_dir}" ]; then + if [ -n "${scan_chroots}" -a ${scan_chroots} -gt 1 ]; then + i=1 + while true; do + { ${chroot_create} ${chroot_dir}-scan-${i}; PBULK_CONF=${PBULK_CONF} /usr/sbin/chroot ${chroot_dir}-scan-${i} @SH@ -c "${pscan_prepare} && ${pscan} -c ${master_port_scan} -M ${make} ${extra_pscan_args} ${pkgsrc}"; ${chroot_delete} ${chroot_dir}-scan-${i}; } & + i=`expr $i + 1` + if [ $i -gt ${scan_chroots} ]; then + break + fi + done + else + { ${chroot_create} ${chroot_dir}-scan; PBULK_CONF=${PBULK_CONF} /usr/sbin/chroot ${chroot_dir}-scan @SH@ -c "${pscan_prepare} && ${pscan} -c ${master_port_scan} -M ${make} ${extra_pscan_args} ${pkgsrc}"; ${chroot_delete} ${chroot_dir}-scan; } & + fi + else + { PBULK_CONF=${PBULK_CONF}; export PBULK_CONF; ${pscan_prepare} && ${pscan} -c ${master_port_scan} -M ${make} ${extra_pscan_args} ${pkgsrc}; } & + fi +fi Index: pkgtools/pbulk/files/pbulk/scripts/upload =================================================================== RCS file: /cvsroot/pkgsrc/pkgtools/pbulk/files/pbulk/scripts/upload,v retrieving revision 1.3 diff -u -r1.3 upload --- pkgtools/pbulk/files/pbulk/scripts/upload 16 Sep 2008 18:21:30 -0000 1.3 +++ pkgtools/pbulk/files/pbulk/scripts/upload 24 Jul 2013 12:45:59 -0000 @@ -30,7 +30,7 @@ # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. -. @PBULK_CONFIG@ +. ${PBULK_CONF:-@PBULK_CONFIG@} set -e