Home | History | Annotate | Line # | Download | only in release
release.sh revision 1.1.1.1.6.2
      1  1.1.1.1.6.2  yamt #!/bin/bash
      2  1.1.1.1.6.2  yamt 
      3  1.1.1.1.6.2  yamt #******************************************************************************
      4  1.1.1.1.6.2  yamt #
      5  1.1.1.1.6.2  yamt # ACPICA release generation script for Cygwin/Windows execution
      6  1.1.1.1.6.2  yamt #
      7  1.1.1.1.6.2  yamt # front end for build.sh
      8  1.1.1.1.6.2  yamt #
      9  1.1.1.1.6.2  yamt # Copies any existing packages to the archive directory.
     10  1.1.1.1.6.2  yamt #
     11  1.1.1.1.6.2  yamt # Generates 3 types of package:
     12  1.1.1.1.6.2  yamt #   1) Standard ACPICA source, everything except test suites
     13  1.1.1.1.6.2  yamt #   2) ACPICA test suites (very large)
     14  1.1.1.1.6.2  yamt #   3) Windows binary tools (Windows does not include generation tools)
     15  1.1.1.1.6.2  yamt #
     16  1.1.1.1.6.2  yamt # Note: "unix" generation builds the source with the standard Intel license
     17  1.1.1.1.6.2  yamt # in each file header. "unix2" builds the source with the dual license instead.
     18  1.1.1.1.6.2  yamt # this has been requested by some OS vendors, notably FreeBSD.
     19  1.1.1.1.6.2  yamt #
     20  1.1.1.1.6.2  yamt #******************************************************************************
     21  1.1.1.1.6.2  yamt 
     22  1.1.1.1.6.2  yamt # Configuration
     23  1.1.1.1.6.2  yamt 
     24  1.1.1.1.6.2  yamt NPARAM=$#
     25  1.1.1.1.6.2  yamt BUILD_TESTS=1
     26  1.1.1.1.6.2  yamt 
     27  1.1.1.1.6.2  yamt # Filenames and paths
     28  1.1.1.1.6.2  yamt 
     29  1.1.1.1.6.2  yamt ARCHIVE_DIR=archive
     30  1.1.1.1.6.2  yamt RELEASE_DIR=current
     31  1.1.1.1.6.2  yamt 
     32  1.1.1.1.6.2  yamt 
     33  1.1.1.1.6.2  yamt #******************************************************************************
     34  1.1.1.1.6.2  yamt #
     35  1.1.1.1.6.2  yamt # Miscellaneous utility functions
     36  1.1.1.1.6.2  yamt #
     37  1.1.1.1.6.2  yamt #******************************************************************************
     38  1.1.1.1.6.2  yamt 
     39  1.1.1.1.6.2  yamt usage()
     40  1.1.1.1.6.2  yamt {
     41  1.1.1.1.6.2  yamt 	echo "$1"
     42  1.1.1.1.6.2  yamt 	echo
     43  1.1.1.1.6.2  yamt 	echo "Master script to create ACPICA release packages"
     44  1.1.1.1.6.2  yamt 	echo "Usage:"
     45  1.1.1.1.6.2  yamt 	echo "    $0 [notest]"
     46  1.1.1.1.6.2  yamt }
     47  1.1.1.1.6.2  yamt 
     48  1.1.1.1.6.2  yamt move_all_files_to_archive()
     49  1.1.1.1.6.2  yamt {
     50  1.1.1.1.6.2  yamt 	cd $RELEASE_DIR
     51  1.1.1.1.6.2  yamt 
     52  1.1.1.1.6.2  yamt 	for file in *
     53  1.1.1.1.6.2  yamt 	do
     54  1.1.1.1.6.2  yamt 		if [ -d $file ]; then
     55  1.1.1.1.6.2  yamt 			rm -r -f ../$ARCHIVE_DIR/$file
     56  1.1.1.1.6.2  yamt 			mv -f $file ../$ARCHIVE_DIR
     57  1.1.1.1.6.2  yamt 			echo "Moved directory $file to $ARCHIVE_DIR directory"
     58  1.1.1.1.6.2  yamt 		else
     59  1.1.1.1.6.2  yamt 			cp $file ../$ARCHIVE_DIR
     60  1.1.1.1.6.2  yamt 			echo "Moved $file ($(ls -al $file | awk '{print $5}') bytes) to $ARCHIVE_DIR directory"
     61  1.1.1.1.6.2  yamt 			rm $file
     62  1.1.1.1.6.2  yamt 		fi
     63  1.1.1.1.6.2  yamt 	done
     64  1.1.1.1.6.2  yamt 
     65  1.1.1.1.6.2  yamt 	cd ..
     66  1.1.1.1.6.2  yamt }
     67  1.1.1.1.6.2  yamt 
     68  1.1.1.1.6.2  yamt 
     69  1.1.1.1.6.2  yamt #******************************************************************************
     70  1.1.1.1.6.2  yamt #
     71  1.1.1.1.6.2  yamt # main
     72  1.1.1.1.6.2  yamt #
     73  1.1.1.1.6.2  yamt # Arguments:
     74  1.1.1.1.6.2  yamt #    $1 (optional) notest - do not generate the ACPICA test suite packages
     75  1.1.1.1.6.2  yamt #
     76  1.1.1.1.6.2  yamt #******************************************************************************
     77  1.1.1.1.6.2  yamt 
     78  1.1.1.1.6.2  yamt set -e		# Abort on any error
     79  1.1.1.1.6.2  yamt 
     80  1.1.1.1.6.2  yamt #
     81  1.1.1.1.6.2  yamt # Parameter evaluation
     82  1.1.1.1.6.2  yamt #
     83  1.1.1.1.6.2  yamt if [ $NPARAM -gt 1 ]; then
     84  1.1.1.1.6.2  yamt 	usage "Wrong argument count ($NPARAM)"
     85  1.1.1.1.6.2  yamt 	exit 1
     86  1.1.1.1.6.2  yamt 	
     87  1.1.1.1.6.2  yamt elif [ $NPARAM -eq 1 ]; then
     88  1.1.1.1.6.2  yamt 	if [ $1 == notest ]; then
     89  1.1.1.1.6.2  yamt 		BUILD_TESTS=0
     90  1.1.1.1.6.2  yamt 	else
     91  1.1.1.1.6.2  yamt 		usage "Invalid argument ($1)"
     92  1.1.1.1.6.2  yamt 		exit 1
     93  1.1.1.1.6.2  yamt 	fi
     94  1.1.1.1.6.2  yamt fi
     95  1.1.1.1.6.2  yamt 
     96  1.1.1.1.6.2  yamt #
     97  1.1.1.1.6.2  yamt # Move and preserve any previous versions of the various release packages
     98  1.1.1.1.6.2  yamt #
     99  1.1.1.1.6.2  yamt if [ -e $RELEASE_DIR ]; then
    100  1.1.1.1.6.2  yamt 
    101  1.1.1.1.6.2  yamt 	# Create archive directory if necessary
    102  1.1.1.1.6.2  yamt 
    103  1.1.1.1.6.2  yamt 	mkdir -p $ARCHIVE_DIR
    104  1.1.1.1.6.2  yamt 
    105  1.1.1.1.6.2  yamt 	#
    106  1.1.1.1.6.2  yamt 	# Save any older versions of the release packages
    107  1.1.1.1.6.2  yamt 	#
    108  1.1.1.1.6.2  yamt 	if [ "$(ls -A $RELEASE_DIR)" ]; then
    109  1.1.1.1.6.2  yamt 		echo "Moving previous packages to $ARCHIVE_DIR directory"
    110  1.1.1.1.6.2  yamt 
    111  1.1.1.1.6.2  yamt 		move_all_files_to_archive
    112  1.1.1.1.6.2  yamt 		echo "Completed move of previous packages to $ARCHIVE_DIR directory"
    113  1.1.1.1.6.2  yamt 	fi
    114  1.1.1.1.6.2  yamt 
    115  1.1.1.1.6.2  yamt else
    116  1.1.1.1.6.2  yamt 	# Just create the release directory
    117  1.1.1.1.6.2  yamt 	mkdir -p $RELEASE_DIR
    118  1.1.1.1.6.2  yamt fi
    119  1.1.1.1.6.2  yamt 
    120  1.1.1.1.6.2  yamt # ACPICA source code (core subsystem and all tools/utilities)
    121  1.1.1.1.6.2  yamt 
    122  1.1.1.1.6.2  yamt bash build.sh source win
    123  1.1.1.1.6.2  yamt bash build.sh source unix
    124  1.1.1.1.6.2  yamt bash build.sh source unix2
    125  1.1.1.1.6.2  yamt 
    126  1.1.1.1.6.2  yamt # Optionally build the test suite packages (built by default)
    127  1.1.1.1.6.2  yamt 
    128  1.1.1.1.6.2  yamt if [ $BUILD_TESTS -eq 1 ]; then
    129  1.1.1.1.6.2  yamt 
    130  1.1.1.1.6.2  yamt 	# ACPICA test suites (A unix2 build has not been requested by users)
    131  1.1.1.1.6.2  yamt 
    132  1.1.1.1.6.2  yamt 	bash build.sh test win
    133  1.1.1.1.6.2  yamt 	bash build.sh test unix
    134  1.1.1.1.6.2  yamt 	
    135  1.1.1.1.6.2  yamt else
    136  1.1.1.1.6.2  yamt 	echo "**** Test suites not built because the notest option was used"
    137  1.1.1.1.6.2  yamt fi
    138  1.1.1.1.6.2  yamt 
    139  1.1.1.1.6.2  yamt # ACPICA binary tools (Windows only)
    140  1.1.1.1.6.2  yamt 
    141  1.1.1.1.6.2  yamt bash build.sh binary win
    142  1.1.1.1.6.2  yamt 
    143  1.1.1.1.6.2  yamt echo
    144  1.1.1.1.6.2  yamt echo "ACPICA - Summary of generated packages:"
    145  1.1.1.1.6.2  yamt echo
    146  1.1.1.1.6.2  yamt ls $RELEASE_DIR -g -G -t
    147