#!/bin/sh # ctg_package_sources # # David Adams # February 2005 # # script to package the source files from a CTG build set -e PKG_NAME=$1 PKG_VERSION=$2 if [ -z "$PKG_VERSION" ]; then echo "Usage $0: NAME VERSION" exit 0 fi # Check CTG. ctg_checkenv STAT=$? if [ $STAT -ne 0 ]; then echo "ctg_package: CTG check failed with error $STAT" exit $STAT fi # Location for tar file. TARDIR=`pwd` # Location of release. TOPDIR=`ctg_devdir` # Assign name for the release. RELNAME=$PKG_NAME-$PKG_VERSION-sources echo "ctg_package: Release name: $RELNAME" # Location of installation to package. if [ ! -d /tmp/$USER/ctg ]; then mkdir -p /tmp/$USER/ctg fi INSTALL_DIR=/tmp/$USER/ctg/$RELNAME echo "ctg_package: Install dir: $INSTALL_DIR" if [ -r $INSTALL_DIR ]; then echo "ctg_package: Installation already exists at" echo " $INSTALL_DIR" echo "Delete before packaging." fi mkdir $INSTALL_DIR CTG_INSPATH=$INSTALL_DIR # Assign names for tar and distribution (gzipped) files. TARBASE=`pwd`/$RELNAME TARFILE=$TARBASE.tar TEST_TARFILE=${TARBASE}_test.tar # Check that distribution files do not already exist. for FILE in $TARFILE $TEST_TARFILE; do if [ -r $FILE ]; then echo "Tar file already exists; no action taken" echo "Remove with: rm $FILE" exit 3 fi done # Do installation. for PKG in `cat $TOPDIR/ctgpkgs.dat`; do HDRDIR=$TOPDIR/$PKG/`basename $PKG` SRCDIR=$TOPDIR/$PKG/src ALLFILES= if [ -d $HDRDIR ]; then ALLFILES="$ALLFILES `ls $HDRDIR/*.h | grep -v _t.h`" fi if [ -d $SRCDIR ]; then ALLFILES="$ALLFILES `ls $SRCDIR/*.cxx | grep -v _t.cxx`" fi if [ -n "$ALLFILES" ]; then for FILE in $ALLFILES; do cp $FILE $INSTALL_DIR done fi done # Tar. echo Creating $TARFILE.gz cd `dirname $INSTALL_DIR` tar -cf $TARFILE $RELNAME gzip $TARFILE # Clean up. rm -rf $INSTALL_DIR