# LIBTOOLIZE
# MAKE
# PREFIX
-# TESTS_ENVIRONMENT
+# LOG_COMPILER
# VERBOSE
# WARNINGS
#
opensuse)
VENDOR_DISTRIBUTION='opensuse'
;;
+ arch)
+ VENDOR_DISTRIBUTION='arch'
+ ;;
*)
die "attempt to set an invalid VENDOR_DISTRIBUTION=$dist"
;;
opensuse)
VENDOR_RELEASE="$release"
;;
+ arch)
+ VENDOR_RELEASE=""
+ ;;
unknown)
die "attempt to set VENDOR_RELEASE without setting VENDOR_DISTRIBUTION"
;;
*)
- die "attempt to set with an invalid VENDOR_DISTRIBUTION=$VENDOR_DISTRIBUTION"
+ die "attempt to set VENDOR_RELEASE with an invalid VENDOR_DISTRIBUTION=$VENDOR_DISTRIBUTION"
;;
esac
}
suse)
VENDOR='suse'
;;
+ arch)
+ VENDOR='arch'
+ ;;
*)
- die "An attempt was made to set an invalid VENDOR=$_vendor"
+ die "An attempt was made to set an invalid VENDOR=$vendor"
;;
esac
elif [[ -x '/usr/bin/lsb_release' ]]; then
local _ID="$(/usr/bin/lsb_release -s -i)"
local _VERSION="$(/usr/bin/lsb_release -s -r)"
- set_VENDOR $_ID $_ID $_VERSION_ID
+ set_VENDOR $_ID $_ID $_VERSION
elif [[ -f '/etc/lsb-release' ]]; then
source '/etc/lsb-release'
set_VENDOR 'canonical' $DISTRIB_ID $DISTRIB_CODENAME
die "OLD_MAKE($OLD_MAKE) was set on push, programmer error!"
fi
- if [[ -n "$OLD_TESTS_ENVIRONMENT" ]]; then
- die "OLD_TESTS_ENVIRONMENT($OLD_TESTS_ENVIRONMENT) was set on push, programmer error!"
+ if [[ -n "$OLD_LOG_COMPILER" ]]; then
+ die "OLD_LOG_COMPILER($OLD_LOG_COMPILER) was set on push, programmer error!"
fi
if [[ -n "$CONFIGURE" ]]; then
OLD_MAKE=$MAKE
fi
- if [[ -n "$TESTS_ENVIRONMENT" ]]; then
- OLD_TESTS_ENVIRONMENT=$TESTS_ENVIRONMENT
+ if [[ -n "$LOG_COMPILER" ]]; then
+ OLD_LOG_COMPILER=$LOG_COMPILER
fi
}
MAKE=$OLD_MAKE
fi
- if [[ -n "$OLD_TESTS_ENVIRONMENT" ]]; then
- TESTS_ENVIRONMENT=$OLD_TESTS_ENVIRONMENT
+ if [[ -n "$OLD_LOG_COMPILER" ]]; then
+ LOG_COMPILER=$OLD_LOG_COMPILER
fi
OLD_CONFIGURE=
OLD_CONFIGURE_ARG=
OLD_PREFIX=
OLD_MAKE=
- OLD_TESTS_ENVIRONMENT=
+ OLD_LOG_COMPILER=
export -n CC CXX
}
# If we don't have a configure, then most likely we will be missing libtool
assert_file 'configure'
if [[ -x 'libtool' ]]; then
- TESTS_ENVIRONMENT="./libtool --mode=execute $VALGRIND_COMMAND"
+ LOG_COMPILER="./libtool --mode=execute $VALGRIND_COMMAND"
else
- TESTS_ENVIRONMENT="$VALGRIND_COMMAND"
+ LOG_COMPILER="$VALGRIND_COMMAND"
fi
make_target 'all'
else
if [[ -n "$DISPLAY" ]]; then
if command_exists 'wine'; then
- TESTS_ENVIRONMENT='wine'
+ LOG_COMPILER='wine'
fi
fi
- if [[ -n "$TESTS_ENVIRONMENT" ]]; then
+ if [[ -n "$LOG_COMPILER" ]]; then
make_target 'check' 'warn' || warn "$MAKE check failed"
ret=$?
fi
# If we don't have a configure, then most likely we will be missing libtool
assert_file 'configure'
if [[ -f 'libtool' ]]; then
- TESTS_ENVIRONMENT="./libtool --mode=execute $GDB_COMMAND"
+ LOG_COMPILER="./libtool --mode=execute $GDB_COMMAND"
else
- TESTS_ENVIRONMENT="$GDB_COMMAND"
+ LOG_COMPILER="$GDB_COMMAND"
fi
make_target 'check'
run_configure
fi
- if [ -n "$TESTS_ENVIRONMENT" ]; then
+ if [ -n "$LOG_COMPILER" ]; then
if $verbose; then
- echo "TESTS_ENVIRONMENT=$TESTS_ENVIRONMENT"
+ echo "LOG_COMPILER=$LOG_COMPILER"
fi
fi
{
if command_exists 'rpmbuild'; then
if [ -f 'rpm.am' -o -d 'rpm' ]; then
- mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
- mkdir -p ~/rpmbuild/RPMS/{i386,i486,i586,i686,noarch,athlon}
-
run_configure_if_required
- make_target 'rpm'
+ make_target 'dist-rpm'
if $jenkins_build_environment; then
- make_target 'clean'
+ mkdir artifacts
+ mv *.tar.gz *.rpm artifacts
+
+ make_target 'maintainer-clean'
+ mv artifacts/* .
+ rmdir artifacts
fi
fi
if $use_libtool; then
assert $BOOTSTRAP_LIBTOOLIZE
- run "$BOOTSTRAP_LIBTOOLIZE" '--copy' '--install' '--force' || die "Cannot execute $BOOTSTRAP_LIBTOOLIZE"
+ if $jenkins_build_environment; then
+ run "$BOOTSTRAP_LIBTOOLIZE" '--copy' '--install' || die "Cannot execute $BOOTSTRAP_LIBTOOLIZE"
+ else
+ run "$BOOTSTRAP_LIBTOOLIZE" '--copy' '--install' '--force' || die "Cannot execute $BOOTSTRAP_LIBTOOLIZE"
+ fi
fi
run "$AUTORECONF" "$AUTORECONF_ARGS" || die "Cannot execute $AUTORECONF"
fi
if [[ -z "$GNU_BUILD_FLAGS" ]]; then
- GNU_BUILD_FLAGS="--install --force"
+ if $jenkins_build_environment; then
+ GNU_BUILD_FLAGS="--install"
+ else
+ GNU_BUILD_FLAGS="--install --force"
+ fi
fi
if $verbose; then
echo "MAKE=$MAKE"
fi
- if [[ -n "$MAKE_TARGET" ]]; then
- echo "MAKE_TARGET=$MAKE_TARGET"
+ if [[ -n "$BOOTSTRAP_TARGET" ]]; then
+ echo "BOOTSTRAP_TARGET=$BOOTSTRAP_TARGET"
fi
if [[ -n "$PREFIX" ]]; then
echo "PREFIX=$PREFIX"
fi
- if [[ -n "$TESTS_ENVIRONMENT" ]]; then
- echo "TESTS_ENVIRONMENT=$TESTS_ENVIRONMENT"
+ if [[ -n "$LOG_COMPILER" ]]; then
+ echo "LOG_COMPILER=$LOG_COMPILER"
fi
if [[ -n "$VCS_CHECKOUT" ]]; then
execute_job ()
{
# We should always have a target by this point
- assert MAKE_TARGET
+ assert BOOTSTRAP_TARGET
determine_target_platform
fi
fi
- # Use OLD_TESTS_ENVIRONMENT for tracking the state of the variable
- local OLD_TESTS_ENVIRONMENT=
+ # Use OLD_LOG_COMPILER for tracking the state of the variable
+ local OLD_LOG_COMPILER=
# Set ENV PREFIX in order to set --prefix for ./configure
if [[ -n "$PREFIX" ]]; then
make_maintainer_clean
fi
- local MAKE_TARGET_ARRAY
- MAKE_TARGET_ARRAY=( $MAKE_TARGET )
+ local BOOTSTRAP_TARGET_ARRAY
+ BOOTSTRAP_TARGET_ARRAY=( $BOOTSTRAP_TARGET )
- for target in "${MAKE_TARGET_ARRAY[@]}"
+ for target in "${BOOTSTRAP_TARGET_ARRAY[@]}"
do
# If we are running inside of Jenkins, we want to only run some of the possible tests
if $jenkins_build_environment; then
check_make_target $target
ret=$?
if [ $ret -ne 0 ]; then
- die "Unknown MAKE_TARGET option: $target"
+ warn "Unknown BOOTSTRAP_TARGET option: $target"
+ target="jenkins"
fi
fi
declare -x VCS_CHECKOUT=
# Variables we control globally
- local -a MAKE_TARGET=
+ local -a BOOTSTRAP_TARGET=
local CONFIGURE=
local use_libtool=false
local verbose=false
local OLD_CONFIGURE_ARG=
local OLD_PREFIX=
local OLD_MAKE=
- local OLD_TESTS_ENVIRONMENT=
+ local OLD_LOG_COMPILER=
# If we call autoreconf on the platform or not
local AUTORECONF_REBUILD_HOST=false
local OPT_TARGET=
parse_command_line_options "$@"
- nassert MAKE_TARGET
+ nassert BOOTSTRAP_TARGET
if [ -n "$OPT_TARGET" ]; then
- MAKE_TARGET="$OPT_TARGET"
- fi
-
- # If we are running under Jenkins we predetermine what tests we will run against
- # This MAKE_TARGET can be overridden by parse_command_line_options based MAKE_TARGET changes.
- # We don't want Jenkins overriding other variables, so we NULL them.
- if [ -z "$MAKE_TARGET" ]; then
- if $jenkins_build_environment; then
- if [[ -n "$JENKINS_TARGET" ]]; then
- MAKE_TARGET="$JENKINS_TARGET"
- else
- if [[ -n "$label" ]]; then
- check_make_target $label
- if [ $? -eq 0 ]; then
- MAKE_TARGET="$label"
- fi
- fi
-
- if [[ -n "$LABEL" ]]; then
- check_make_target $LABEL
- if [ $? -eq 0 ]; then
- MAKE_TARGET="$LABEL"
- fi
- fi
-
- if [ -z "$MAKE_TARGET" ]; then
- MAKE_TARGET='jenkins'
- fi
- fi
- fi
+ BOOTSTRAP_TARGET="$OPT_TARGET"
fi
- if [ -z "$MAKE_TARGET" ]; then
- MAKE_TARGET="make_default"
+ if [ -z "$BOOTSTRAP_TARGET" ]; then
+ BOOTSTRAP_TARGET="make_default"
fi
# We should always have a target by this point
- assert MAKE_TARGET
+ assert BOOTSTRAP_TARGET
execute_job
local ret=$?
export LIBTOOLIZE_OPTIONS
export MAKE
export PREFIX_ARG
- export TESTS_ENVIRONMENT
+ export LOG_COMPILER
export VERBOSE
export WARNINGS