psyclpc/src/hosts/be/set-version

69 lines
2.4 KiB
Bash
Executable File

#!/bin/sh
#
# Usage: set-version <executable>
# Read the version information from ./patchlevel.h and set the BeOS
# versionflags of <executable> accordingly.
#--------------------------------------------------------------------------
# ---------- MAIN ----------
if [ $# -ne 1 ]; then
cat << __USAGE__
Usage: set-version <executable>
Read the version information from ./patchlevel.h and set the BeOS
versionflags of <executable> accordingly.
__USAGE__
exit 1;
fi
# Determine the version variables
reldate=$(sed -e 's/#define RELEASE_DATE ".*, \(..\) \(...\) \(....\) .*/\1. \2 \3/p' -e D patchlevel.h)
reldatedash=$(sed -e 's/#define RELEASE_DATE ".*, \(..\) \(...\) \(....\) .*/\1-\2-\3/p' -e D patchlevel.h)
projversion=$(sed -e 's/#define PROJ_VERSION "\(.*\)"/\1/p' -e D patchlevel.h)
version_major=$(sed -e 's/#define VERSION_MAJOR "\(.*\)"/\1/p' -e D patchlevel.h)
version_minor=$(sed -e 's/#define VERSION_MINOR "\(.*\)"/\1/p' -e D patchlevel.h)
version_micro=$(sed -e 's/#define VERSION_MICRO "\(.*\)"/\1/p' -e D patchlevel.h)
version_patch=$(sed -e 's/#define VERSION_PATCH "\(.*\)"/\1/p' -e D patchlevel.h)
release_type=$(sed -e 's/#define RELEASE_TYPE "\(.*\)"/\1/p' -e D patchlevel.h)
if [ $((${version_minor} % 2)) -eq 0 ]; then
# --- Stable versions ---
setverflags="-app $version_major $version_minor $version_micro"
if [ "${release_type}" = "rel" ]; then
# --- Stable version ---
setverflags="${setverflags} f"
vstring="${version_major}.${version_minor}.${version_micro}"
fi
if [ "${release_type}" = "pre" ]; then
# --- Pre-release version ---
setverflags="${setverflags} d ${version_patch}"
vstring="${version_major}.${version_minor}.${version_micro}-pre.${version_patch}"
fi
if [ "${release_type}" = "dev" ]; then
# --- Current version ---
setverflags="${setverflags} d ${version_patch}"
vstring="${version_major}.${version_minor}.${version_micro}-dev.${version_patch}"
fi
else
# --- Development Versions ---
setverflags="-app ${version_major} ${version_minor} ${version_patch}"
setverflags="${setverflags} f"
vstring="${version_major}.${version_minor}.${version_patch}"
fi
# Do it
echo "setversion $1 ${setverflags} -short \"${vstring}\" -long \"LDMud ${vstring} - a LPMud Gamedriver\""
setversion $1 ${setverflags} -short "${vstring}" -long "LDMud ${vstring} - a LPMud Gamedriver"
exit 0