#!@SH@ # $NetBSD: pre-build,v 1.16 2021/01/02 21:54:46 riastradh Exp $ # # Copyright (c) 2007 Joerg Sonnenberger . # All rights reserved. # # This code was developed as part of Google's Summer of Code 2007 program. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in # the documentation and/or other materials provided with the # distribution. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE # COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, # INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING, # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED # AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. . @PBULK_CONFIG@ set -e if [ "${config_version}" != "@PBULK_CONFIG_VERSION@" ]; then echo "Your configuration has version ${config_version}." echo "This version of pbulk expects version @PBULK_CONFIG_VERSION@." exit 1 fi if [ "$cross_compile" != "no" ]; then if [ -z "${target_destdir}" ]; then echo "target_destdir must be set for cross-compiling." exit 1 fi if [ ! -d "${target_destdir}" ]; then echo "target_destdir must exist for cross-compiling." exit 1 fi if [ `cd "${target_destdir}" && pwd` = "/" ]; then echo "target_destdir must not be / for cross-compiling." exit 1 fi if [ -z "${target_arch}" ]; then echo "target_arch must be specified for cross-compiling." exit 1 fi fi if [ -d "${bulklog}/meta" ]; then echo "Warning: All log files of the previous pbulk run will be" echo "removed in 5 seconds. If you want to abort, press Ctrl-C." sleep 5 if [ "${reuse_scan_results}" = yes -a -f "${bulklog}/meta/pscan" ]; then echo "Reusing old scan results" rm -rf "${bulklog}.old" 2> /dev/null || true if [ -d "${bulklog}.old" ]; then rm -rf "${bulklog}.old"/* || true find "${bulklog}" -maxdepth 1 -mindepth 1 ! -name meta -exec rm -rf {} \; || true cp -pr "${bulklog}/." "${bulklog}.old/" rm -rf "${bulklog}"/* || true else mv "${bulklog}" "${bulklog}.old" fi else echo "Removing old scan results" rm -rf "${bulklog}"/* || true fi else rm -rf "${bulklog}"/* || true fi mkdir -p "${bulklog}" "${loc}" case "${master_mode}" in [nN][oO]) # Make sure the prefix is clean before we scan so any # preinstalled packages don't affect the scanning process. @PREFIX@/libexec/pbulk/client-clean ;; [yY][eE][sS]) # Scanning happens in a worker so we don't need to clean the # prefix here; this way you can run pbulk on a system that has # packages installed without disrupting those packages. ;; *) echo "master_mode must be either yes or no." exit 1 ;; esac # 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` # Check if it is an OS with variants where we would rather use the # variant name and version rather than common name and version case "$opsys" in SunOS | Cygwin | SCO_SV) opvar=`cd ${pkgsrc}/pkgtools/pkg_install && ${make} show-var VARNAME=OS_VARIANT` case "$opsys" in Cygwin | SCO_SV) opsys=$opvar ;; SunOS) if [ -n "$opvar" ]; then opsys=$opvar opver=`cd ${pkgsrc}/pkgtools/pkg_install && ${make} show-var VARNAME=LOWER_VARIANT_VERSION` fi ;; esac ;; esac 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 date '+BUILD_START_ISO=%Y-%m-%d %H:%M BUILD_START_DIR=%Y%m%d.%H%M BUILD_START_EPOCHE=%s' >> ${loc}/status echo "BASE_URL=${base_url}" >> ${loc}/status