#!/bin/sh
[ "$1" = "" -o "$2" = "" -o "$3" = "" ] && {
echo "Usage: `basename $0` <driver project name> <driver source root> <package output dir>"
exit 1
}
DRIVER_PROJECT_NAME=$1
INPUT_ROOT=$2
OUTPUT_ROOT=$3
DRIVER_INFO_FILE=$INPUT_ROOT/DriverInfo
PROG_NAME=`basename $0`
DIR_NAME=`echo $0 | sed 's%\(.*\)/[^/]*$%\1%'`
INFO_FILE=${OUTPUT_ROOT}/${DRIVER_PROJECT_NAME}.info
[ -d "$INPUT_ROOT" ] || {
echo "$PROG_NAME: driver input root directory '$INPUT_ROOT' does not exist"
exit 1
}
[ -d "$OUTPUT_ROOT" ] || {
echo "$PROG_NAME: driver output root directory '$OUTPUT_ROOT' does not exist"
exit 1
}
if [ "$DIR_NAME" = "$0" ]
then
. getvers.sh
else
. ${DIR_NAME}/getvers.sh
fi
DRIVER_LONG_NAMES=""
DRIVER_SHORT_NAMES=""
for i in ${INPUT_ROOT}/English.lproj/*.strings
do
[ ! "$DRIVER_LONG_NAMES" = "" ] && {
DRIVER_LONG_NAMES="${DRIVER_LONG_NAMES}, "
}
DRIVER_LONG_NAMES=${DRIVER_LONG_NAMES}`sed -n 's/.*"Long Name"[ ]*=[ ]*"\([^"]*\)";/\1/p' $i`
[ ! "$DRIVER_SHORT_NAMES" = "" ] && {
DRIVER_SHORT_NAMES="${DRIVER_SHORT_NAMES}, "
}
DRIVER_SHORT_NAMES=${DRIVER_SHORT_NAMES}`sed -n "s/\"${DRIVER_PROJECT_NAME}\"[ ]*=[ ]*\"\([^\"]*\)\";/\1/p" $i`
done
DATE=`date`
echo "$PROG_NAME: generating '$INFO_FILE'"
sed "s/<<OS_NAME>>/$OS_NAME/g; s/<<DRIVER_VERSION>>/$DRIVER_VERSION/g; s/<<OS_RELEASE>>/$OS_RELEASE/g; s/<<DRIVER_PROJECT_NAME>>/$DRIVER_PROJECT_NAME/g; s|<<DRIVER_LONG_NAMES>>|$DRIVER_LONG_NAMES|g; s|<<DRIVER_SHORT_NAMES>>|$DRIVER_SHORT_NAMES|g; s|<<DRIVER_NAME>>|$DRIVER_NAME|g; s|<<DATE>>|$DATE|g;" > $INFO_FILE <<EOT
Title <<DRIVER_NAME>>
Version <<OS_NAME>> Release <<OS_RELEASE>>, Driver Version <<DRIVER_VERSION>>
Description This package contains a driver bundle supporting the following devices: <<DRIVER_LONG_NAMES>>. After installing, use Configure.app to add and configure the device to work with <<OS_NAME>>.
DefaultLocation /
Relocatable NO
Diskname <<DRIVER_PROJECT_NAME>>
Application NO
LibrarySubdirectory Standard
InstallOnly YES
DisableStop YES
LongFilenames YES
EOT
for i in pre_install post_install pre_delete post_delete
do
scriptname=$DRIVER_PROJECT_NAME.$i
if [ -f $INPUT_ROOT/$scriptname ]
then
echo "$PROG_NAME: copying '$INPUT_ROOT/$scriptname' to '$OUTPUT_ROOT/$scriptname'"
cp $INPUT_ROOT/$scriptname $OUTPUT_ROOT/$scriptname
chmod 755 $OUTPUT_ROOT/$scriptname
fi
done
exit 0