Project

General

Profile

Download (16.2 KB) Statistics
| Branch: | Tag: | Revision:
1
#!/bin/sh
2
#
3
# builder_defaults.sh
4
#
5
# part of pfSense (https://www.pfsense.org)
6
# Copyright (c) 2004-2013 BSD Perimeter
7
# Copyright (c) 2013-2016 Electric Sheep Fencing
8
# Copyright (c) 2014-2021 Rubicon Communications, LLC (Netgate)
9
# All rights reserved.
10
#
11
# Licensed under the Apache License, Version 2.0 (the "License");
12
# you may not use this file except in compliance with the License.
13
# You may obtain a copy of the License at
14
#
15
# http://www.apache.org/licenses/LICENSE-2.0
16
#
17
# Unless required by applicable law or agreed to in writing, software
18
# distributed under the License is distributed on an "AS IS" BASIS,
19
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20
# See the License for the specific language governing permissions and
21
# limitations under the License.
22

    
23
###########################################
24
# Product builder configuration file      #
25
# Please don't modify this file, you      #
26
# can put your settings and options       #
27
# in build.conf, which is sourced at the  #
28
# beginning of this file                  #
29
###########################################
30

    
31
if [ -z "${BUILDER_ROOT}" ]; then
32
	echo ">>> ERROR: BUILDER_ROOT must be defined by script that includes builder_defaults.sh"
33
	exit 1
34
fi
35

    
36
if [ ! -d "${BUILDER_ROOT}" ]; then
37
	echo ">>> ERROR: BUILDER_ROOT is invalid"
38
	exit 1
39
fi
40

    
41
export BUILDER_TOOLS=${BUILDER_TOOLS:-"${BUILDER_ROOT}/tools"}
42
export BUILDER_SCRIPTS=${BUILDER_SCRIPTS:-"${BUILDER_ROOT}/build/scripts"}
43

    
44
if [ ! -d "${BUILDER_TOOLS}" ]; then
45
	echo ">>> ERROR: BUILDER_TOOLS is invalid"
46
	exit 1
47
fi
48

    
49
BUILD_CONF=${BUILD_CONF:-"${BUILDER_ROOT}/build.conf"}
50

    
51
# Ensure file exists
52
if [ -f ${BUILD_CONF} ]; then
53
	. ${BUILD_CONF}
54
fi
55

    
56
# Make sure pkg will not be interactive
57
export ASSUME_ALWAYS_YES=true
58

    
59
# Architecture
60
export TARGET=${TARGET:-"$(uname -m)"}
61
export TARGET_ARCH=${TARGET_ARCH:-"$(uname -p)"}
62

    
63
# Directory to be used for writing temporary information
64
export SCRATCHDIR=${SCRATCHDIR:-"${BUILDER_ROOT}/tmp"}
65
if [ ! -d ${SCRATCHDIR} ]; then
66
	mkdir -p ${SCRATCHDIR}
67
fi
68

    
69
# Product details
70
export PRODUCT_NAME=${PRODUCT_NAME:-"nonSense"}
71
export PRODUCT_NAME_SUFFIX=${PRODUCT_NAME_SUFFIX:-"-CE"}
72
export REPO_BRANCH_PREFIX=${REPO_BRANCH_PREFIX:-""}
73
export REPO_PATH_PREFIX=$(echo "${REPO_BRANCH_PREFIX}" | sed -e 's,-,_,g')
74
export PRODUCT_URL=${PRODUCT_URL:-""}
75
export PRODUCT_SRC=${PRODUCT_SRC:-"${BUILDER_ROOT}/src"}
76
export PRODUCT_EMAIL=${PRODUCT_EMAIL:-"coreteam@pfsense.org"}
77
export XML_ROOTOBJ=${XML_ROOTOBJ:-$(echo "${PRODUCT_NAME}" | tr '[[:upper:]]' '[[:lower:]]')}
78

    
79
if [ "${PRODUCT_NAME}" = "pfSense" -a "${BUILD_AUTHORIZED_BY_NETGATE}" != "yes" ]; then
80
	echo ">>>ERROR: According the following license, only Netgate can build genuine pfSense® software"
81
	echo ""
82
	cat ${BUILDER_ROOT}/LICENSE
83
	exit 1
84
fi
85

    
86
if [ -z "${PRODUCT_VERSION}" ]; then
87
	if [ ! -f ${PRODUCT_SRC}/etc/version ]; then
88
		echo ">>> ERROR: PRODUCT_VERSION is not defined and ${PRODUCT_SRC}/etc/version was not found"
89
		print_error_pfS
90
	fi
91

    
92
	export PRODUCT_VERSION=$(head -n 1 ${PRODUCT_SRC}/etc/version)
93
fi
94
export PRODUCT_REVISION=${PRODUCT_REVISION:-""}
95

    
96
# Product repository tag to build
97
_cur_git_repo_branch_or_tag=$(git -C ${BUILDER_ROOT} rev-parse --abbrev-ref HEAD)
98
if [ "${_cur_git_repo_branch_or_tag}" = "HEAD" ]; then
99
	# We are on a tag, lets find out its name
100
	export GIT_REPO_BRANCH_OR_TAG=$(git -C ${BUILDER_ROOT} describe --tags)
101
else
102
	export GIT_REPO_BRANCH_OR_TAG="${_cur_git_repo_branch_or_tag}"
103
fi
104
# Use vX_Y instead of RELENG_X_Y for poudriere to make it shorter
105
# Replace . by _ to make tag names look correct
106
POUDRIERE_BRANCH=$(echo "${GIT_REPO_BRANCH_OR_TAG}" | sed 's,RELENG_,v,; s,\.,_,g')
107

    
108
GIT_REPO_BASE=$(git -C ${BUILDER_ROOT} config --get remote.$(git -C ${BUILDER_ROOT} remote).url | sed -e 's,/[^/]*$,,')
109

    
110
# This is used for using svn for retrieving src
111
export FREEBSD_REPO_BASE=${FREEBSD_REPO_BASE:-"${GIT_REPO_BASE}/freebsd-src.git"}
112
export FREEBSD_BRANCH=${FREEBSD_BRANCH:-"${REPO_BRANCH_PREFIX}devel-12"}
113
export FREEBSD_SRC_DIR=${FREEBSD_SRC_DIR:-"${SCRATCHDIR}/FreeBSD-src"}
114

    
115
export BUILD_KERNELS=${BUILD_KERNELS:-"${PRODUCT_NAME}"}
116

    
117
# XXX: Poudriere doesn't like ssh short form
118
case "${FREEBSD_REPO_BASE}" in
119
	git@*)
120
		export FREEBSD_REPO_BASE_POUDRIERE="ssh://$(echo ${FREEBSD_REPO_BASE} | sed 's,:,/,')"
121
		;;
122
	*)
123
		export FREEBSD_REPO_BASE_POUDRIERE="${FREEBSD_REPO_BASE}"
124
		;;
125
esac
126

    
127
# Leave this alone.
128
export SRCCONF=${SRCCONF:-"${FREEBSD_SRC_DIR}/release/conf/${PRODUCT_NAME}_src.conf"}
129
export SRC_ENV_CONF=${SRC_CONF:-"${FREEBSD_SRC_DIR}/release/conf/${PRODUCT_NAME}_src-env.conf"}
130
export __MAKE_CONF=${__MAKE_CONF:-"${FREEBSD_SRC_DIR}/release/conf/${PRODUCT_NAME}_make.conf"}
131

    
132
# Extra tools to be added to ITOOLS
133
export LOCAL_ITOOLS=${LOCAL_ITOOLS:-"uuencode uudecode ex"}
134

    
135
# Path to kernel files being built
136
export KERNEL_BUILD_PATH=${KERNEL_BUILD_PATH:-"${SCRATCHDIR}/kernels"}
137

    
138
# Do not touch builder /usr/obj
139
export MAKEOBJDIRPREFIX=${MAKEOBJDIRPREFIX:-"${SCRATCHDIR}/obj"}
140

    
141
if [ -z "${MODULES_OVERRIDE}" ]; then
142
	export MODULES_OVERRIDE_base="cc/cc_cdg cc/cc_chd cc/cc_cubic cc/cc_dctcp cc/cc_hd cc/cc_htcp cc/cc_vegas cryptodev dummynet fdescfs hwpmc i2c if_stf ipdivert ipfw ipfw_nat64 opensolaris usb/cdce usb/ipheth usb/ure usb/urndis zfs"
143
	export MODULES_OVERRIDE_amd64="${MODULES_OVERRIDE_base} aesni amdsmn amdtemp blake2 coretemp cpuctl drm2 ipmi ix ixv ndis nmdm sfxge vmm"
144
	export MODULES_OVERRIDE="${MODULES_OVERRIDE_amd64}"
145
fi
146

    
147
# gnid
148
export GNID_REPO_BASE=${GNID_REPO_BASE:-"${GIT_REPO_BASE}/gnid.git"}
149
export GNID_SRC_DIR=${GNID_SRC_DIR:-"${SCRATCHDIR}/gnid"}
150
export GNID_BRANCH=${GNID_BRANCH:-"master"}
151
export GNID_INCLUDE_DIR=${GNID_INCLUDE_DIR:-"${MAKEOBJDIRPREFIX}${FREEBSD_SRC_DIR}/${TARGET}.${TARGET_ARCH}/tmp/usr/include"}
152
export GNID_LIBCRYPTO_DIR=${GNID_LIBCRYPTO_DIR:-"${MAKEOBJDIRPREFIX}${FREEBSD_SRC_DIR}/${TARGET}.${TARGET_ARCH}/secure/lib/libcrypto"}
153

    
154
# Area that the final image will appear in
155
export IMAGES_FINAL_DIR=${IMAGES_FINAL_DIR:-"${SCRATCHDIR}/${PRODUCT_NAME}/"}
156

    
157
export BUILDER_LOGS=${BUILDER_LOGS:-"${BUILDER_ROOT}/logs"}
158
if [ ! -d ${BUILDER_LOGS} ]; then
159
	mkdir -p ${BUILDER_LOGS}
160
fi
161

    
162
# This is where files will be staged
163
export INSTALLER_CHROOT_DIR=${INSTALLER_CHROOT_DIR:-"${SCRATCHDIR}/installer-dir"}
164

    
165
# This is where files will be staged
166
export STAGE_CHROOT_DIR=${STAGE_CHROOT_DIR:-"${SCRATCHDIR}/stage-dir"}
167

    
168
# Directory that will clone to in order to create
169
# iso staging area.
170
export FINAL_CHROOT_DIR=${FINAL_CHROOT_DIR:-"${SCRATCHDIR}/final-dir"}
171

    
172
# OVF/vmdk parms
173
# Name of ovf file included inside OVA archive
174
export OVFTEMPLATE=${OVFTEMPLATE:-"${BUILDER_TOOLS}/templates/ovf/${PRODUCT_NAME}.ovf"}
175
# / partition to be used by mkimg
176
export OVFUFS=${OVFUFS:-"${PRODUCT_NAME}${PRODUCT_NAME_SUFFIX}-disk1.ufs"}
177
# Raw disk to be converted to vmdk
178
export OVFRAW=${OVFRAW:-"${PRODUCT_NAME}${PRODUCT_NAME_SUFFIX}-disk1.raw"}
179
# On disk name of VMDK file included in OVA
180
export OVFVMDK=${OVFVMDK:-"${PRODUCT_NAME}${PRODUCT_NAME_SUFFIX}-disk1.vmdk"}
181
# 8 gigabyte on disk VMDK size
182
export VMDK_DISK_CAPACITY_IN_GB=${VMDK_DISK_CAPACITY_IN_GB:-"8"}
183
# swap partition size (freebsd-swap)
184
export OVA_SWAP_PART_SIZE_IN_GB=${OVA_SWAP_PART_SIZE_IN_GB:-"0"}
185
# Temporary place to save files
186
export OVA_TMP=${OVA_TMP:-"${SCRATCHDIR}/ova_tmp"}
187
# end of OVF
188

    
189
# NOTE: Date string is used for creating file names of images
190
#       The file is used for sharing the same value with build_snapshots.sh
191
export DATESTRINGFILE=${DATESTRINGFILE:-"$SCRATCHDIR/version.snapshots"}
192
if [ -z "${DATESTRING}" ]; then
193
	if [ -f "${DATESTRINGFILE}" -a -n "${_USE_OLD_DATESTRING}" ]; then
194
		export DATESTRING=$(cat $DATESTRINGFILE)
195
	else
196
		export DATESTRING=$(date "+%Y%m%d-%H%M")
197
	fi
198
fi
199
echo "$DATESTRING" > $DATESTRINGFILE
200

    
201
# NOTE: Date string is placed on the final image etc folder to help detect new updates
202
#       The file is used for sharing the same value with build_snapshots.sh
203
export BUILTDATESTRINGFILE=${BUILTDATESTRINGFILE:-"$SCRATCHDIR/version.buildtime"}
204
if [ -z "${BUILTDATESTRING}" ]; then
205
	if [ -f "${BUILTDATESTRINGFILE}" -a -n "${_USE_OLD_DATESTRING}" ]; then
206
		export BUILTDATESTRING=$(cat $BUILTDATESTRINGFILE)
207
	else
208
		export BUILTDATESTRING=$(date "+%a %b %d %T %Z %Y")
209
	fi
210
fi
211
echo "$BUILTDATESTRING" > $BUILTDATESTRINGFILE
212

    
213
# Poudriere
214
export ZFS_TANK=${ZFS_TANK:-"zroot"}
215
export ZFS_ROOT=${ZFS_ROOT:-"/poudriere"}
216

    
217
export POUDRIERE_BULK=${POUDRIERE_BULK:-"${BUILDER_TOOLS}/conf/pfPorts/poudriere_bulk"}
218
if [ -z "${REPO_BRANCH_PREFIX}" ]; then
219
	export POUDRIERE_PORTS_GIT_URL=${POUDRIERE_PORTS_GIT_URL:-"${GIT_REPO_BASE}/freebsd-ports.git"}
220
else
221
	export POUDRIERE_PORTS_GIT_URL=${POUDRIERE_PORTS_GIT_URL:-"${GIT_REPO_BASE}/${REPO_BRANCH_PREFIX}ports.git"}
222
fi
223
export POUDRIERE_PORTS_GIT_BRANCH=${POUDRIERE_PORTS_GIT_BRANCH:-"${REPO_BRANCH_PREFIX}devel"}
224

    
225
# Use vX_Y instead of RELENG_X_Y for poudriere to make it shorter
226
POUDRIERE_PORTS_BRANCH=$(echo "${POUDRIERE_PORTS_GIT_BRANCH}" | sed 's,RELENG_,v,; s,-,_,g')
227

    
228
export POUDRIERE_PORTS_NAME=${POUDRIERE_PORTS_NAME:-"${PRODUCT_NAME}_${POUDRIERE_PORTS_BRANCH}"}
229

    
230
# XXX: Poudriere doesn't like ssh short form
231
case "${POUDRIERE_PORTS_GIT_URL}" in
232
	git@*)
233
		POUDRIERE_PORTS_GIT_URL="ssh://$(echo ${POUDRIERE_PORTS_GIT_URL} | sed 's,:,/,')"
234
		;;
235
esac
236

    
237
unset _IS_RELEASE
238
unset _IS_RC
239
unset CORE_PKG_DATESTRING
240
export TIMESTAMP_SUFFIX="-${DATESTRING}"
241
# pkg doesn't like - as version separator, use . instead
242
export PKG_DATESTRING=$(echo "${DATESTRING}" | sed 's,-,.,g')
243
case "${PRODUCT_VERSION##*-}" in
244
	RELEASE)
245
		export _IS_RELEASE=yes
246
		unset TIMESTAMP_SUFFIX
247
		;;
248
	ALPHA|DEVELOPMENT)
249
		export CORE_PKG_DATESTRING=".a.${PKG_DATESTRING}"
250
		;;
251
	BETA*)
252
		export CORE_PKG_DATESTRING=".b.${PKG_DATESTRING}"
253
		;;
254
	RC*)
255
		export _IS_RC=yes
256
		export CORE_PKG_DATESTRING=".r.${PKG_DATESTRING}"
257
		;;
258
	*)
259
		echo ">>> ERROR: Invalid PRODUCT_VERSION format ${PRODUCT_VERSION}"
260
		exit 1
261
esac
262

    
263
export BUILDER_PKG_DEPENDENCIES="devel/git ftp/curl net/rsync sysutils/screen \
264
    sysutils/vmdktool security/sudo www/nginx emulators/qemu-user-static \
265
    archivers/gtar textproc/xmlstarlet"
266

    
267
STAGING_HOSTNAME=${STAGING_HOSTNAME:-"release-staging.nyi.netgate.com"}
268

    
269
# Host to rsync pkg repos from poudriere
270
export PKG_RSYNC_HOSTNAME=${PKG_RSYNC_HOSTNAME:-"nfs1.nyi.netgate.com"}
271
export PKG_RSYNC_USERNAME=${PKG_RSYNC_USERNAME:-"wwwsync"}
272
export PKG_RSYNC_SSH_PORT=${PKG_RSYNC_SSH_PORT:-"22"}
273
export PKG_RSYNC_DESTDIR=${PKG_RSYNC_DESTDIR:-"/storage/files/release-staging/ce/packages"}
274

    
275
# Final packages server
276
if [ -n "${_IS_RELEASE}" -o -n "${_IS_RC}" ]; then
277
	export PKG_FINAL_RSYNC_HOSTNAME=${PKG_FINAL_RSYNC_HOSTNAME:-"nfs1.nyi.netgate.com"}
278
	export PKG_FINAL_RSYNC_DESTDIR=${PKG_FINAL_RSYNC_DESTDIR:-"/storage/files/pkg"}
279
else
280
	export PKG_FINAL_RSYNC_HOSTNAME=${PKG_FINAL_RSYNC_HOSTNAME:-"nfs1.nyi.netgate.com"}
281
	export PKG_FINAL_RSYNC_DESTDIR=${PKG_FINAL_RSYNC_DESTDIR:-"/storage/files/beta/packages"}
282
fi
283
export PKG_FINAL_RSYNC_USERNAME=${PKG_FINAL_RSYNC_USERNAME:-"wwwsync"}
284
export PKG_FINAL_RSYNC_SSH_PORT=${PKG_FINAL_RSYNC_SSH_PORT:-"22"}
285
export SKIP_FINAL_RSYNC=${SKIP_FINAL_RSYNC:-}
286

    
287
# pkg repo variables
288
export USE_PKG_REPO_STAGING="1"
289
export PKG_REPO_SERVER_DEVEL=${PKG_REPO_SERVER_DEVEL:-"pkg+https://packages-beta.netgate.com/packages"}
290
export PKG_REPO_SERVER_RELEASE=${PKG_REPO_SERVER_RELEASE:-"pkg+https://packages.netgate.com"}
291
export PKG_REPO_SERVER_STAGING=${PKG_REPO_SERVER_STAGING:-"pkg+http://${STAGING_HOSTNAME}/ce/packages"}
292

    
293
if [ -n "${_IS_RELEASE}" -o -n "${_IS_RC}" ]; then
294
	export PKG_REPO_BRANCH_RELEASE=${PKG_REPO_BRANCH_RELEASE:-"${REPO_BRANCH_PREFIX}v2_5_2"}
295
	export PKG_REPO_BRANCH_DEVEL=${PKG_REPO_BRANCH_DEVEL:-${POUDRIERE_BRANCH}}
296
	export PKG_REPO_BRANCH_STAGING=${PKG_REPO_BRANCH_STAGING:-${PKG_REPO_BRANCH_RELEASE}}
297
else
298
	export PKG_REPO_BRANCH_RELEASE=${PKG_REPO_BRANCH_RELEASE:-"${REPO_BRANCH_PREFIX}v2_5_2"}
299
	export PKG_REPO_BRANCH_DEVEL=${PKG_REPO_BRANCH_DEVEL:-${POUDRIERE_BRANCH}}
300
	export PKG_REPO_BRANCH_STAGING=${PKG_REPO_BRANCH_STAGING:-${PKG_REPO_BRANCH_DEVEL}}
301
fi
302

    
303
if [ -n "${_IS_RELEASE}" -o -n "${_IS_RC}" ]; then
304
	export PKG_REPO_SIGN_KEY=${PKG_REPO_SIGN_KEY:-"release${PRODUCT_NAME_SUFFIX}"}
305
else
306
	export PKG_REPO_SIGN_KEY=${PKG_REPO_SIGN_KEY:-"beta${PRODUCT_NAME_SUFFIX}"}
307
fi
308
# Command used to sign pkg repo
309
: ${PKG_REPO_SIGNING_COMMAND="ssh -o StrictHostKeyChecking=no sign@codesigner.netgate.com sudo ./sign.sh ${PKG_REPO_SIGN_KEY}"}
310
export PKG_REPO_SIGNING_COMMAND
311
export DO_NOT_SIGN_PKG_REPO=${DO_NOT_SIGN_PKG_REPO:-}
312

    
313
# Define base package version, based on date for snaps
314
export CORE_PKG_VERSION="${PRODUCT_VERSION%%-*}${CORE_PKG_DATESTRING}${PRODUCT_REVISION:+_}${PRODUCT_REVISION}"
315
export CORE_PKG_PATH=${CORE_PKG_PATH:-"${SCRATCHDIR}/${PRODUCT_NAME}_${POUDRIERE_BRANCH}_${TARGET_ARCH}-core"}
316
export CORE_PKG_REAL_PATH="${CORE_PKG_PATH}/.real_${DATESTRING}"
317
export CORE_PKG_ALL_PATH="${CORE_PKG_PATH}/All"
318

    
319
export PKG_REPO_BASE=${PKG_REPO_BASE:-"${BUILDER_TOOLS}/templates/pkg_repos"}
320
export PFSENSE_DEFAULT_REPO="${PRODUCT_NAME}-repo-devel"
321
export PKG_REPO_DEFAULT=${PKG_REPO_DEFAULT:-"${PKG_REPO_BASE}/${PFSENSE_DEFAULT_REPO}.conf"}
322
export PFSENSE_BUILD_REPO="${PFSENSE_DEFAULT_REPO}"
323
export PKG_REPO_BUILD=${PKG_REPO_BUILD:-"${PKG_REPO_BASE}/${PFSENSE_BUILD_REPO}.conf"}
324
export PKG_REPO_PATH=${PKG_REPO_PATH:-"/usr/local/etc/pkg/repos/${PRODUCT_NAME}.conf"}
325

    
326
export PRODUCT_SHARE_DIR=${PRODUCT_SHARE_DIR:-"/usr/local/share/${PRODUCT_NAME}"}
327

    
328
# Package overlay. This gives people a chance to build product
329
# installable image that already contains certain extra packages.
330
#
331
# Needs to contain comma separated package names. Of course
332
# package names must be valid. Using non existent
333
# package name would yield an error.
334
#
335
#export custom_package_list=""
336

    
337
# General builder output filenames
338
export ISOPATH=${ISOPATH:-"${IMAGES_FINAL_DIR}/installer/${PRODUCT_NAME}${PRODUCT_NAME_SUFFIX}-${PRODUCT_VERSION}${PRODUCT_REVISION:+-p}${PRODUCT_REVISION}-${TARGET}${TIMESTAMP_SUFFIX}.iso"}
339
export MEMSTICKPATH=${MEMSTICKPATH:-"${IMAGES_FINAL_DIR}/installer/${PRODUCT_NAME}${PRODUCT_NAME_SUFFIX}-memstick-${PRODUCT_VERSION}${PRODUCT_REVISION:+-p}${PRODUCT_REVISION}-${TARGET}${TIMESTAMP_SUFFIX}.img"}
340
export MEMSTICKSERIALPATH=${MEMSTICKSERIALPATH:-"${IMAGES_FINAL_DIR}/installer/${PRODUCT_NAME}${PRODUCT_NAME_SUFFIX}-memstick-serial-${PRODUCT_VERSION}${PRODUCT_REVISION:+-p}${PRODUCT_REVISION}-${TARGET}${TIMESTAMP_SUFFIX}.img"}
341
export MEMSTICKADIPATH=${MEMSTICKADIPATH:-"${IMAGES_FINAL_DIR}/installer/${PRODUCT_NAME}${PRODUCT_NAME_SUFFIX}-memstick-ADI-${PRODUCT_VERSION}${PRODUCT_REVISION:+-p}${PRODUCT_REVISION}-${TARGET}${TIMESTAMP_SUFFIX}.img"}
342
export OVAPATH=${OVAPATH:-"${IMAGES_FINAL_DIR}/virtualization/${PRODUCT_NAME}${PRODUCT_NAME_SUFFIX}-${PRODUCT_VERSION}${PRODUCT_REVISION:+-p}${PRODUCT_REVISION}-${TARGET}${TIMESTAMP_SUFFIX}.ova"}
343
export MEMSTICK_VARIANTS=${MEMSTICK_VARIANTS:-}
344
export VARIANTIMAGES=""
345
export VARIANTUPDATES=""
346

    
347
# Rsync data to send snapshots
348
if [ -n "${_IS_RELEASE}" -o -n "${SKIP_FINAL_RSYNC}" ]; then
349
	export RSYNCIP=${RSYNCIP:-"nfs1.nyi.netgate.com"}
350
	export RSYNCUSER=${RSYNCUSER:-"wwwsync"}
351
	export RSYNCPATH=${RSYNCPATH:-"/storage/files/release-staging/ce/images"}
352
else
353
	export RSYNCIP=${RSYNCIP:-"nfs1.nyi.netgate.com"}
354
	export RSYNCUSER=${RSYNCUSER:-"wwwsync"}
355
	export RSYNCPATH=${RSYNCPATH:-"/storage/files/snapshots/${TARGET}/${PRODUCT_NAME}_${GIT_REPO_BRANCH_OR_TAG}"}
356
fi
357

    
358
export SNAPSHOTSLOGFILE=${SNAPSHOTSLOGFILE:-"${SCRATCHDIR}/snapshots-build.log"}
359
export SNAPSHOTSLASTUPDATE=${SNAPSHOTSLASTUPDATE:-"${SCRATCHDIR}/snapshots-lastupdate.log"}
360

    
361
if [ -n "${POUDRIERE_SNAPSHOTS}" ]; then
362
	export SNAPSHOTS_RSYNCIP=${PKG_RSYNC_HOSTNAME}
363
	export SNAPSHOTS_RSYNCUSER=${PKG_RSYNC_USERNAME}
364
else
365
	export SNAPSHOTS_RSYNCIP=${RSYNCIP}
366
	export SNAPSHOTS_RSYNCUSER=${RSYNCUSER}
367
fi
368

    
369
if [ "${PRODUCT_NAME}" = "pfSense" ]; then
370
	export VENDOR_NAME=${VENDOR_NAME:-"Rubicon Communications, LLC (Netgate)"}
371
	export OVF_INFO=${OVF_INFO:-"pfSense is a free, open source customized distribution of FreeBSD tailored for use as a firewall and router. In addition to being a powerful, flexible firewalling and routing platform, it includes a long list of related features and a package system allowing further expandability without adding bloat and potential security vulnerabilities to the base distribution. pfSense is a popular project with more than 1 million downloads since its inception, and proven in countless installations ranging from small home networks protecting a PC and an Xbox to large corporations, universities and other organizations protecting thousands of network devices."}
372
else
373
	export VENDOR_NAME=${VENDOR_NAME:-"nonSense"}
374
	export OVF_INFO=${OVF_INFO:-"none"}
375
fi
(3-3/3)