svn commit: r253492 - in user/nwhitehorn: . condorports

Nathan Whitehorn nwhitehorn at FreeBSD.org
Sat Jul 20 13:13:30 UTC 2013


Author: nwhitehorn
Date: Sat Jul 20 13:13:28 2013
New Revision: 253492
URL: http://svnweb.freebsd.org/changeset/base/253492

Log:
  Hoist condorports up a directory since I screwed up the svn import.

Added:
  user/nwhitehorn/condorports/
  user/nwhitehorn/condorports/buildport.sh
     - copied unchanged from r253491, user/nwhitehorn/buildport.sh
  user/nwhitehorn/condorports/buildportsdag.sh
     - copied unchanged from r253491, user/nwhitehorn/buildportsdag.sh
  user/nwhitehorn/condorports/fetchandlinks.sh
     - copied unchanged from r253491, user/nwhitehorn/fetchandlinks.sh
  user/nwhitehorn/condorports/package.sub
     - copied unchanged from r253491, user/nwhitehorn/package.sub
  user/nwhitehorn/condorports/prepbuildjail
     - copied unchanged from r253491, user/nwhitehorn/prepbuildjail
  user/nwhitehorn/condorports/reapbuildjail
     - copied unchanged from r253491, user/nwhitehorn/reapbuildjail
  user/nwhitehorn/condorports/sudoers
     - copied unchanged from r253491, user/nwhitehorn/sudoers
Deleted:
  user/nwhitehorn/buildport.sh
  user/nwhitehorn/buildportsdag.sh
  user/nwhitehorn/fetchandlinks.sh
  user/nwhitehorn/package.sub
  user/nwhitehorn/prepbuildjail
  user/nwhitehorn/reapbuildjail
  user/nwhitehorn/sudoers

Copied: user/nwhitehorn/condorports/buildport.sh (from r253491, user/nwhitehorn/buildport.sh)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ user/nwhitehorn/condorports/buildport.sh	Sat Jul 20 13:13:28 2013	(r253492, copy of r253491, user/nwhitehorn/buildport.sh)
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin
+
+port=$1
+pkg=$2
+release=$3
+
+scratchdir=$(pwd)
+
+# Some settings must go in make.conf:
+#  USE_PACKAGE_DEPENDS=true
+
+set -e
+sudo /pkgscripts/prepbuildjail $_CONDOR_SLOT $release
+sudo jexec $_CONDOR_SLOT make -C $port install USE_PACKAGE_DEPENDS=true BATCH=true WRKDIRPREFIX=/obj DISABLE_MAKE_JOBS=true
+sudo jexec $_CONDOR_SLOT make -C $port package PKGREPOSITORY=/packages BATCH=true WRKDIRPREFIX=/obj NO_LATEST_LINK=true PKGFILE=/packages/$pkg
+cp /scratch/$_CONDOR_SLOT/packages/$pkg $scratchdir/$pkg
+sudo /pkgscripts/reapbuildjail $_CONDOR_SLOT
+set +e
+

Copied: user/nwhitehorn/condorports/buildportsdag.sh (from r253491, user/nwhitehorn/buildportsdag.sh)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ user/nwhitehorn/condorports/buildportsdag.sh	Sat Jul 20 13:13:28 2013	(r253492, copy of r253491, user/nwhitehorn/buildportsdag.sh)
@@ -0,0 +1,26 @@
+#!/bin/sh
+PORTSDIR=/usr/ports
+PKGSDIR=/usr/ports/packages
+#(cd $PORTSDIR && make index)
+ports="$(cut -f 2 -d '|' $PORTSDIR/INDEX-`uname -r | cut -f 1 -d .`)"
+ports="/usr/ports/games/sl /usr/ports/ports-mgmt/pkg /usr/ports/japanese/nkf"
+dagjobs=$(pwd)/ports.dagjobs
+dagdeps=$(pwd)/ports.dagdeps
+dag=$(pwd)/ports.dag
+rm -f $dagjobs $dagdeps
+for job in $ports; do
+	cd $job
+	echo JOB $job package.sub >> $dagjobs
+	# One fetch for all archs with dummy fetch job? UNAME_p etc.
+	echo SCRIPT PRE $job fetchandlinks.sh $job $PKGSDIR >> $dagjobs
+	echo VARS $job port=\"$job\" >> $dagjobs
+	echo VARS $job pkg=\"`make package-name`.txz\" >> $dagjobs
+	echo VARS $job pkgdir=\"$PKGSDIR/All\" >> $dagjobs
+	deps=$(make all-depends-list)
+	if [ ! -z "$deps" ]; then
+		echo PARENT $deps CHILD $job >> $dagdeps
+	fi
+done
+
+cat $dagjobs $dagdeps > $dag
+rm -f $dagjobs $dagdeps

Copied: user/nwhitehorn/condorports/fetchandlinks.sh (from r253491, user/nwhitehorn/fetchandlinks.sh)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ user/nwhitehorn/condorports/fetchandlinks.sh	Sat Jul 20 13:13:28 2013	(r253492, copy of r253491, user/nwhitehorn/fetchandlinks.sh)
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+set -e
+cd $1
+make fetch
+make package-links PACKAGES=$2
+mkdir -p $2/All
+set +e
+

Copied: user/nwhitehorn/condorports/package.sub (from r253491, user/nwhitehorn/package.sub)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ user/nwhitehorn/condorports/package.sub	Sat Jul 20 13:13:28 2013	(r253492, copy of r253491, user/nwhitehorn/package.sub)
@@ -0,0 +1,18 @@
+executable = buildport.sh
+universe = vanilla
+notification = never # failure?
+
+requirements = Arch == "X86_64" && OpSys == "FREEBSD"
+#requirements = Arch == "powerpc" && OpSys == "FREEBSD"
+
+log=/tmp/condorlog
+output=logs/$(pkg).out
+error=logs/$(pkg).err
+
+should_transfer_files=YES
+when_to_transfer_output=ON_EXIT
+#transfer_output_files=$(pkg)
+transfer_output_remaps="$(pkg)=$(pkgdir)/$(pkg)"
+
+arguments= $(port) $(pkg) release
+queue

Copied: user/nwhitehorn/condorports/prepbuildjail (from r253491, user/nwhitehorn/prepbuildjail)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ user/nwhitehorn/condorports/prepbuildjail	Sat Jul 20 13:13:28 2013	(r253492, copy of r253491, user/nwhitehorn/prepbuildjail)
@@ -0,0 +1,41 @@
+#!/bin/sh
+slot=$1
+release=$2
+
+#Audit slot and release names
+case $slot in
+	*[^a-zA-Z0-9]* ) echo "Non-alphanumeric slot $slot"; exit 1
+esac
+case $release in
+	*[^a-zA-Z0-9]* ) echo "Non-alphanumeric release $release"; exit 1
+esac
+if [ -z "$slot" -o -z "$release" ]; then
+	echo "Zero-length slot or release"
+	exit 1
+fi
+
+if [ -d /scratch/$slot ]; then
+	echo "Pre-existing file system for this slot!"
+	/pkgscripts/reapbuildjail $slot
+fi
+
+cleanup() {
+	/pkgscripts/reapbuildjail $slot
+}
+
+set -e
+trap cleanup EXIT
+
+. /etc/rc.subr
+
+mkdir -p /scratch/$slot
+#mount_unionfs -o below /releases/$release /scratch/$slot
+#mount_nullfs -o ro /ports /scratch/$slot/ports
+mount_unionfs -o below /scratch/$release /scratch/$slot
+mount_nullfs -o ro /usr/ports /scratch/$slot/usr/ports
+ls /scratch/$slot/usr/ports > /dev/null # Hack around bug in nullfs
+devfs_mount_jail /scratch/$slot/dev 4 && mounts="/scratch/$slot/dev $mounts"
+
+jail -c name=$slot path=/scratch/$slot host.hostname=$slot.`hostname` persist=true
+trap true EXIT
+

Copied: user/nwhitehorn/condorports/reapbuildjail (from r253491, user/nwhitehorn/reapbuildjail)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ user/nwhitehorn/condorports/reapbuildjail	Sat Jul 20 13:13:28 2013	(r253492, copy of r253491, user/nwhitehorn/reapbuildjail)
@@ -0,0 +1,27 @@
+#!/bin/sh
+slot=$1
+
+#Audit slot and release names
+case $slot in
+	*[^a-zA-Z0-9]* ) echo "Non-alphanumeric slot $slot"; exit 1
+esac
+if [ -z "$slot" ]; then
+	echo "Zero-length slot or release"
+	exit 1
+fi
+
+if [ ! -d /scratch/$slot ]; then
+	echo "No file system for slot!"
+	exit 1
+fi
+
+set +e
+jail -r $slot
+umount -f /scratch/$slot/dev
+#umount -f /scratch/$slot/ports
+umount -f /scratch/$slot/usr/ports
+umount -f /scratch/$slot
+chflags -R noschg /scratch/$slot
+rm -rf /scratch/$slot
+set +e
+

Copied: user/nwhitehorn/condorports/sudoers (from r253491, user/nwhitehorn/sudoers)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ user/nwhitehorn/condorports/sudoers	Sat Jul 20 13:13:28 2013	(r253492, copy of r253491, user/nwhitehorn/sudoers)
@@ -0,0 +1,4 @@
+# User privilege specification
+root	ALL=(ALL) ALL
+
+pkgbuild  ALL=NOPASSWD: /pkgscripts/prepbuildjail,/pkgscripts/reapbuildjail,/usr/sbin/jexec


More information about the svn-src-user mailing list