add timitidy.., Xaw3d, sdl-mixer
This commit is contained in:
@@ -0,0 +1,117 @@
|
||||
#!/bin/sh
|
||||
|
||||
VERSION_MJ="1"
|
||||
VERSION_MN="0"
|
||||
VERSION_RV="0000"
|
||||
VERSION_AP=""
|
||||
VERSION="${VERSION_MJ}.${VERSION_MN}${VERSION_AP}"
|
||||
|
||||
PATCHDIR="/usr/share/timidity"
|
||||
|
||||
# Below is the user's local patchset
|
||||
HOME_TARGET="$HOME/.timidity/current"
|
||||
TARGET="${HOME_TARGET}"
|
||||
|
||||
show_help() {
|
||||
echo "$0 ${VERSION}"
|
||||
echo "Usage: $0 [-g] -s PATCHSET"
|
||||
echo " or: $0 -r"
|
||||
echo " or: $0 [OPTION]"
|
||||
echo "Set the current timidity patch set to PATCHSET."
|
||||
echo
|
||||
echo "Mandatory arguments to long options are mandatory for short options too."
|
||||
echo " -g Change the global patch set instead of the"
|
||||
echo " user's patch set"
|
||||
echo " -r Change current user's patch set to current"
|
||||
echo " system patch set"
|
||||
echo " -s [PATCHSET] Change to patch set PATCHSET"
|
||||
echo " --help display this help and exit"
|
||||
}
|
||||
|
||||
show_error() {
|
||||
|
||||
echo "$0: bad or missing argument"
|
||||
echo "Try '$0 --help' for more information."
|
||||
}
|
||||
|
||||
set_patch() {
|
||||
TARGET=$1
|
||||
PATCHSET=$2
|
||||
# If something borken, no go
|
||||
if [ ! -L ${TARGET} -a -e ${TARGET} ] || [ ! -d ${PATCHDIR}/${PATCHSET} ]; then
|
||||
if [ ! -L ${TARGET} -a -e ${TARGET} ]; then
|
||||
echo " Error: ${TARGET} exists and is not a symlink"
|
||||
return -1
|
||||
fi
|
||||
if [ ! -d ${PATCHDIR}/${PATCHSET} ]; then
|
||||
echo " Error: patch set ${PATCHSET} does not exist"
|
||||
echo " Look in ${PATCHDIR}/ for patch sets"
|
||||
return -1
|
||||
fi
|
||||
echo " Error: Undefined error."
|
||||
return -1
|
||||
fi
|
||||
echo -n " * Switching to ${PATCHSET} Timidity patch set..."
|
||||
rm -f ${TARGET} 2>/dev/null
|
||||
ln -s ${PATCHDIR}/${PATCHSET} ${TARGET} 2>/dev/null
|
||||
echo " [ OK ]"
|
||||
return 0
|
||||
}
|
||||
|
||||
restore_patches() {
|
||||
TARGET=$1
|
||||
echo -n " * Setting up local patch set to system global..."
|
||||
rm -f ${TARGET} 2>/dev/null
|
||||
ln -s ${PATCHDIR}/current ${TARGET}
|
||||
echo " [ OK ]"
|
||||
}
|
||||
|
||||
##############
|
||||
# Processing #
|
||||
#############
|
||||
|
||||
# Make sure home directory is there
|
||||
if [ ! -e ${HOME}/.timidity ]; then
|
||||
mkdir -p ${HOME}/.timidity
|
||||
restore_patches $TARGET
|
||||
fi
|
||||
|
||||
|
||||
################
|
||||
# No arguments #
|
||||
###############
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
show_error
|
||||
exit 1
|
||||
fi
|
||||
|
||||
#########################
|
||||
# Actual processing loop#
|
||||
########################
|
||||
while [ -n "$1" ]; do
|
||||
case "$1" in
|
||||
-g)
|
||||
TARGET="/usr/share/timidity/current"
|
||||
;;
|
||||
-r)
|
||||
restore_patches ${HOME_TARGET}
|
||||
exit 0
|
||||
;;
|
||||
-s)
|
||||
PATCHSET="$2"
|
||||
shift
|
||||
;;
|
||||
--help)
|
||||
show_help
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
show_error
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
set_patch $TARGET $PATCHSET
|
||||
Reference in New Issue
Block a user