Blame generate/release/release.sh

Packit Service 1fb00e
#!/bin/bash
Packit Service 1fb00e
Packit Service 1fb00e
#******************************************************************************
Packit Service 1fb00e
#
Packit Service 1fb00e
# ACPICA release generation script for Cygwin/Windows execution
Packit Service 1fb00e
#
Packit Service 1fb00e
# front end for build.sh
Packit Service 1fb00e
#
Packit Service 1fb00e
# Copies any existing packages to the archive directory.
Packit Service 1fb00e
#
Packit Service 1fb00e
# Generates 3 types of package:
Packit Service 1fb00e
#   1) Standard ACPICA source, everything except test suites
Packit Service 1fb00e
#   2) ACPICA test suites (very large)
Packit Service 1fb00e
#   3) Windows binary tools (Windows does not include generation tools)
Packit Service 1fb00e
#
Packit Service 1fb00e
# Note: "unix" generation builds the source with the standard Intel license
Packit Service 1fb00e
# in each file header. "unix2" builds the source with the dual license instead.
Packit Service 1fb00e
# this has been requested by some OS vendors, notably FreeBSD.
Packit Service 1fb00e
#
Packit Service 1fb00e
#******************************************************************************
Packit Service 1fb00e
Packit Service 1fb00e
# Configuration
Packit Service 1fb00e
Packit Service 1fb00e
NPARAM=$#
Packit Service 1fb00e
BUILD_TESTS=1
Packit Service 1fb00e
Packit Service 1fb00e
# Filenames and paths
Packit Service 1fb00e
Packit Service 1fb00e
ARCHIVE_DIR=archive
Packit Service 1fb00e
RELEASE_DIR=current
Packit Service 1fb00e
Packit Service 1fb00e
Packit Service 1fb00e
#******************************************************************************
Packit Service 1fb00e
#
Packit Service 1fb00e
# Miscellaneous utility functions
Packit Service 1fb00e
#
Packit Service 1fb00e
#******************************************************************************
Packit Service 1fb00e
Packit Service 1fb00e
usage()
Packit Service 1fb00e
{
Packit Service 1fb00e
	echo "$1"
Packit Service 1fb00e
	echo
Packit Service 1fb00e
	echo "Master script to create ACPICA release packages"
Packit Service 1fb00e
	echo "Usage:"
Packit Service 1fb00e
	echo "    $0 [notest]"
Packit Service 1fb00e
}
Packit Service 1fb00e
Packit Service 1fb00e
move_all_files_to_archive()
Packit Service 1fb00e
{
Packit Service 1fb00e
	cd $RELEASE_DIR
Packit Service 1fb00e
Packit Service 1fb00e
	for file in *
Packit Service 1fb00e
	do
Packit Service 1fb00e
		if [ -d $file ]; then
Packit Service 1fb00e
			rm -r -f ../$ARCHIVE_DIR/$file
Packit Service 1fb00e
			mv -f $file ../$ARCHIVE_DIR
Packit Service 1fb00e
			echo "Moved directory $file to $ARCHIVE_DIR directory"
Packit Service 1fb00e
		else
Packit Service 1fb00e
			cp $file ../$ARCHIVE_DIR
Packit Service 1fb00e
			echo "Moved $file ($(ls -al $file | awk '{print $5}') bytes) to $ARCHIVE_DIR directory"
Packit Service 1fb00e
			rm $file
Packit Service 1fb00e
		fi
Packit Service 1fb00e
	done
Packit Service 1fb00e
Packit Service 1fb00e
	cd ..
Packit Service 1fb00e
}
Packit Service 1fb00e
Packit Service 1fb00e
Packit Service 1fb00e
#******************************************************************************
Packit Service 1fb00e
#
Packit Service 1fb00e
# main
Packit Service 1fb00e
#
Packit Service 1fb00e
# Arguments:
Packit Service 1fb00e
#    $1 (optional) notest - do not generate the ACPICA test suite packages
Packit Service 1fb00e
#
Packit Service 1fb00e
#******************************************************************************
Packit Service 1fb00e
Packit Service 1fb00e
set -e		# Abort on any error
Packit Service 1fb00e
Packit Service 1fb00e
#
Packit Service 1fb00e
# Parameter evaluation
Packit Service 1fb00e
#
Packit Service 1fb00e
if [ $NPARAM -gt 1 ]; then
Packit Service 1fb00e
	usage "Wrong argument count ($NPARAM)"
Packit Service 1fb00e
	exit 1
Packit Service 1fb00e
	
Packit Service 1fb00e
elif [ $NPARAM -eq 1 ]; then
Packit Service 1fb00e
	if [ $1 == notest ]; then
Packit Service 1fb00e
		BUILD_TESTS=0
Packit Service 1fb00e
	else
Packit Service 1fb00e
		usage "Invalid argument ($1)"
Packit Service 1fb00e
		exit 1
Packit Service 1fb00e
	fi
Packit Service 1fb00e
fi
Packit Service 1fb00e
Packit Service 1fb00e
#
Packit Service 1fb00e
# Move and preserve any previous versions of the various release packages
Packit Service 1fb00e
#
Packit Service 1fb00e
if [ -e $RELEASE_DIR ]; then
Packit Service 1fb00e
Packit Service 1fb00e
	# Create archive directory if necessary
Packit Service 1fb00e
Packit Service 1fb00e
	mkdir -p $ARCHIVE_DIR
Packit Service 1fb00e
Packit Service 1fb00e
	#
Packit Service 1fb00e
	# Save any older versions of the release packages
Packit Service 1fb00e
	#
Packit Service 1fb00e
	if [ "$(ls -A $RELEASE_DIR)" ]; then
Packit Service 1fb00e
		echo "Moving previous packages to $ARCHIVE_DIR directory"
Packit Service 1fb00e
Packit Service 1fb00e
		move_all_files_to_archive
Packit Service 1fb00e
		echo "Completed move of previous packages to $ARCHIVE_DIR directory"
Packit Service 1fb00e
	fi
Packit Service 1fb00e
Packit Service 1fb00e
else
Packit Service 1fb00e
	# Just create the release directory
Packit Service 1fb00e
	mkdir -p $RELEASE_DIR
Packit Service 1fb00e
fi
Packit Service 1fb00e
Packit Service 1fb00e
# ACPICA source code (core subsystem and all tools/utilities)
Packit Service 1fb00e
Packit Service 1fb00e
bash build.sh source win
Packit Service 1fb00e
bash build.sh source unix
Packit Service 1fb00e
bash build.sh source unix2
Packit Service 1fb00e
Packit Service 1fb00e
# Optionally build the test suite packages (built by default)
Packit Service 1fb00e
Packit Service 1fb00e
if [ $BUILD_TESTS -eq 1 ]; then
Packit Service 1fb00e
Packit Service 1fb00e
	# ACPICA test suites (A unix2 build has not been requested by users)
Packit Service 1fb00e
Packit Service 1fb00e
	bash build.sh test win
Packit Service 1fb00e
	bash build.sh test unix
Packit Service 1fb00e
	
Packit Service 1fb00e
else
Packit Service 1fb00e
	echo "**** Test suites not built because the notest option was used"
Packit Service 1fb00e
fi
Packit Service 1fb00e
Packit Service 1fb00e
# ACPICA binary tools (Windows only)
Packit Service 1fb00e
Packit Service 1fb00e
bash build.sh binary win
Packit Service 1fb00e
Packit Service 1fb00e
echo
Packit Service 1fb00e
echo "ACPICA - Summary of generated packages:"
Packit Service 1fb00e
echo
Packit Service 1fb00e
ls $RELEASE_DIR -g -G -t