summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbuild.sh9
-rwxr-xr-xtools/build_snapshots.sh50
-rw-r--r--tools/builder_common.sh22
-rw-r--r--tools/builder_defaults.sh11
4 files changed, 70 insertions, 22 deletions
diff --git a/build.sh b/build.sh
index cb59ae6..00d89f4 100755
--- a/build.sh
+++ b/build.sh
@@ -66,6 +66,7 @@ usage() {
echo " --build-kernel argument - build specified kernel. Example --build-kernel KERNEL_NAME"
echo " --install-extra-kernels argument - Put extra kernel(s) under /kernel image directory. Example --install-extra-kernels KERNEL_NAME_WRAP"
echo " --snapshots - Build snapshots and upload them to RSYNCIP"
+ echo " --poudriere-snapshots - Update poudriere packages and send them to PKG_RSYNC_HOSTNAME"
echo " --enable-memorydisks - This will put stage_dir and iso_dir as MFS filesystems"
echo " --disable-memorydisks - Will just teardown these filesystems created by --enable-memorydisks"
echo " --setup-poudriere - Install poudriere and create necessary jails and ports tree"
@@ -87,6 +88,7 @@ unset pfPORTTOBUILD
unset IMAGETYPE
unset DO_NOT_UPLOAD
unset SNAPSHOTS
+unset POUDRIERE_SNAPSHOTS
unset ARCH_LIST
BUILDACTION="images"
@@ -137,6 +139,9 @@ while test "$1" != ""; do
export SNAPSHOTS=1
IMAGETYPE="all"
;;
+ --poudriere-snapshots)
+ export POUDRIERE_SNAPSHOTS=1
+ ;;
--build-kernel)
BUILDACTION="buildkernel"
shift
@@ -223,7 +228,9 @@ fi
# Update snapshot status and exit
if [ "${BUILDACTION}" = "snapshot_status_message" ]; then
- export SNAPSHOTS=1
+ if [ -z "${POUDRIERE_SNAPSHOTS}" ]; then
+ export SNAPSHOTS=1
+ fi
snapshots_update_status "${snapshot_status_message}"
exit 0
fi
diff --git a/tools/build_snapshots.sh b/tools/build_snapshots.sh
index e1e5fab..b9b07fd 100755
--- a/tools/build_snapshots.sh
+++ b/tools/build_snapshots.sh
@@ -31,8 +31,9 @@
#
usage() {
- echo "Usage: $(basename $0) [-l] [-r] [-u]"
+ echo "Usage: $(basename $0) [-l] [-r] [-u] [-p]"
echo " -l: Build looped operations"
+ echo " -p: Update poudriere repo"
echo " -r: Do not reset local changes"
echo " -u: Do not upload snapshots"
}
@@ -43,15 +44,17 @@ export BUILDER_ROOT=$(realpath "${BUILDER_TOOLS}/..")
NO_RESET=""
NO_UPLOAD=""
LOOPED_SNAPSHOTS=""
-export minsleepvalue=${minsleepvalue:-"28800"}
-export maxsleepvalue=${maxsleepvalue:-"86400"}
+POUDRIERE_SNAPSHOTS=""
# Handle command line arguments
-while getopts lur opt; do
+while getopts lpru opt; do
case ${opt} in
l)
LOOPED_SNAPSHOTS=1
;;
+ p)
+ POUDRIERE_SNAPSHOTS=--poudriere-snapshots
+ ;;
r)
NO_RESET=1
;;
@@ -65,6 +68,13 @@ while getopts lur opt; do
esac
done
+if [ -n "${POUDRIERE_SNAPSHOTS}" ]; then
+ export minsleepvalue=${minsleepvalue:-"1800"}
+else
+ export minsleepvalue=${minsleepvalue:-"28800"}
+fi
+export maxsleepvalue=${maxsleepvalue:-"86400"}
+
# Keeps track of how many time builder has looped
export BUILDCOUNTER=0
export COUNTER=0
@@ -73,7 +83,8 @@ export COUNTER=0
export _sleeping=0
snapshot_update_status() {
- ${BUILDER_ROOT}/build.sh ${NO_UPLOAD} --snapshot-update-status "${1}"
+ ${BUILDER_ROOT}/build.sh ${NO_UPLOAD} ${POUDRIERE_SNAPSHOTS} \
+ --snapshot-update-status "${1}"
}
git_last_commit() {
@@ -154,14 +165,27 @@ while [ /bin/true ]; do
git_last_commit
- (${BUILDER_ROOT}/build.sh --clean-builder 2>&1) | while read -r LINE; do
- snapshot_update_status "${LINE}"
- done
-
- (${BUILDER_ROOT}/build.sh ${NO_UPLOAD} --flash-size '1g 2g 4g' \
- --snapshots 2>&1) | while read -r LINE; do
- snapshot_update_status "${LINE}"
- done
+ if [ -n "${POUDRIERE_SNAPSHOTS}" ]; then
+ (${BUILDER_ROOT}/build.sh --update-poudriere-ports 2>&1) \
+ | while read -r LINE; do
+ snapshot_update_status "${LINE}"
+ done
+
+ (${BUILDER_ROOT}/build.sh ${NO_UPLOAD} --update-pkg-repo 2>&1) \
+ | while read -r LINE; do
+ snapshot_update_status "${LINE}"
+ done
+ else
+ (${BUILDER_ROOT}/build.sh --clean-builder 2>&1) \
+ | while read -r LINE; do
+ snapshot_update_status "${LINE}"
+ done
+
+ (${BUILDER_ROOT}/build.sh ${NO_UPLOAD} --flash-size '1g 2g 4g' \
+ --snapshots 2>&1) | while read -r LINE; do
+ snapshot_update_status "${LINE}"
+ done
+ fi
if [ -z "${LOOPED_SNAPSHOTS}" ]; then
# only one build required, exiting
diff --git a/tools/builder_common.sh b/tools/builder_common.sh
index c87010d..077cf7f 100644
--- a/tools/builder_common.sh
+++ b/tools/builder_common.sh
@@ -2048,18 +2048,23 @@ poudriere_bulk() {
# and we scp the log file to the builder host if
# needed for the real time logging functions.
snapshots_update_status() {
- if [ -z "${SNAPSHOTS}" -o -z "$1" ]; then
+ if [ -z "$1" ]; then
+ return
+ fi
+ if [ -z "${SNAPSHOTS}" -a -z "${POUDRIERE_SNAPSHOTS}" ]; then
return
fi
echo $1
echo "`date` -|- $1" >> $SNAPSHOTSLOGFILE
- if [ -z "${DO_NOT_UPLOAD}" -a -n "${RSYNCIP}" ]; then
- LU=`cat $SNAPSHOTSLASTUPDATE`
- CT=`date "+%H%M%S"`
+ if [ -z "${DO_NOT_UPLOAD}" -a -n "${SNAPSHOTS_RSYNCIP}" ]; then
+ LU=$(cat $SNAPSHOTSLASTUPDATE 2>/dev/null)
+ CT=$(date "+%H%M%S")
# Only update every minute
if [ "$LU" != "$CT" ]; then
- ssh ${RSYNCUSER}@${RSYNCIP} "mkdir -p ${RSYNCLOGS}"
- scp -q $SNAPSHOTSLOGFILE ${RSYNCUSER}@${RSYNCIP}:${RSYNCLOGS}/build.log
+ ssh ${SNAPSHOTS_RSYNCUSER}@${SNAPSHOTS_RSYNCIP} \
+ "mkdir -p ${SNAPSHOTS_RSYNCLOGS}"
+ scp -q $SNAPSHOTSLOGFILE \
+ ${SNAPSHOTS_RSYNCUSER}@${SNAPSHOTS_RSYNCIP}:${SNAPSHOTS_RSYNCLOGS}/build.log
date "+%H%M%S" > $SNAPSHOTSLASTUPDATE
fi
fi
@@ -2068,8 +2073,9 @@ snapshots_update_status() {
# Copy the current log file to $filename.old on
# the snapshot www server (real time logs)
snapshots_rotate_logfile() {
- if [ -z "${DO_NOT_UPLOAD}" -a -n "${RSYNCIP}" ]; then
- scp -q $SNAPSHOTSLOGFILE ${RSYNCUSER}@${RSYNCIP}:${RSYNCLOGS}/build.log.old
+ if [ -z "${DO_NOT_UPLOAD}" -a -n "${SNAPSHOTS_RSYNCIP}" ]; then
+ scp -q $SNAPSHOTSLOGFILE \
+ ${SNAPSHOTS_RSYNCUSER}@${SNAPSHOTS_RSYNCIP}:${SNAPSHOTS_RSYNCLOGS}/build.log.old
fi
# Cleanup log file
diff --git a/tools/builder_defaults.sh b/tools/builder_defaults.sh
index 438e300..4d1b448 100644
--- a/tools/builder_defaults.sh
+++ b/tools/builder_defaults.sh
@@ -273,6 +273,7 @@ export POUDRIERE_PORTS_GIT_BRANCH=${POUDRIERE_PORTS_GIT_BRANCH:-"devel"}
export PKG_RSYNC_USERNAME=${PKG_RSYNC_USERNAME:-"wwwsync"}
export PKG_RSYNC_SSH_PORT=${PKG_RSYNC_SSH_PORT:-"22"}
export PKG_RSYNC_DESTDIR=${PKG_RSYNC_DESTDIR:-"/usr/local/www/beta/packages"}
+export PKG_RSYNC_LOGS=${PKG_RSYNC_LOGS:-"/usr/local/www/beta"}
export PKG_REPO_SERVER=${PKG_REPO_SERVER:-"pkg+http://beta.pfsense.org/packages"}
export PKG_REPO_CONF_BRANCH=${PKG_REPO_CONF_BRANCH:-"${GIT_REPO_BRANCH_OR_TAG}"}
@@ -344,3 +345,13 @@ mkdir -p ${STAGINGAREA}
export SNAPSHOTSLOGFILE=${SNAPSHOTSLOGFILE:-"${SCRATCHDIR}/snapshots-build.log"}
export SNAPSHOTSLASTUPDATE=${SNAPSHOTSLASTUPDATE:-"${SCRATCHDIR}/snapshots-lastupdate.log"}
+
+if [ -n "${POUDRIERE_SNAPSHOTS}" ]; then
+ export SNAPSHOTS_RSYNCIP=${PKG_RSYNC_HOSTNAME}
+ export SNAPSHOTS_RSYNCUSER=${PKG_RSYNC_USERNAME}
+ export SNAPSHOTS_RSYNCLOGS=${PKG_RSYNC_LOGS}
+else
+ export SNAPSHOTS_RSYNCIP=${RSYNCIP}
+ export SNAPSHOTS_RSYNCUSER=${RSYNCUSER}
+ export SNAPSHOTS_RSYNCLOGS=${RSYNCLOGS}
+fi
OpenPOWER on IntegriCloud