2010-05-24 Ramon Novoa <rnovoa@artica.es>

* pandora_update_version.sh: Added to repository. Script to
          automatically update Pandora FMS version and build where
          necessary.




git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2792 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
This commit is contained in:
Ramon Novoa 2010-05-24 16:38:04 +00:00
parent dc39f03321
commit 5ab9d8c736
2 changed files with 105 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2010-05-24 Ramon Novoa <rnovoa@artica.es>
* pandora_update_version.sh: Added to repository. Script to
automatically update Pandora FMS version and build where
necessary.
2010-05-21 Ramon Novoa <rnovoa@artica.es>
* build_src.sh: Get the right version for the keygen.

View File

@ -0,0 +1,99 @@
#!/bin/bash
# Automatically update Pandora FMS version and build where necessary.
# Check command line arguments
if [ $# -lt 1 ] || [ $# -gt 3 ]; then
echo "Usage: $0 <final|nightly> <version string> [build string]"
exit 1
fi
# Set some global vars
if [ "$1" == "nightly" ]; then
NB=1
else
NB=0
fi
VERSION=$2
if [ $# == 2 ]; then
BUILD=`date +%g%m%d`
else
BUILD=$2
fi
TEMP_FILE="/tmp/pandora_update_version.tmp"
CODE_HOME=~/code/pandora/trunk
CODE_HOME_ENT=~/code/artica/code
SPEC_FILES="$CODE_HOME/pandora_console/pandora_console.spec \
$CODE_HOME/pandora_agents/unix/pandora_agent.spec \
$CODE_HOME/pandora_server/pandora_server.spec \
$CODE_HOME_ENT/pandora/trunk/pandora_console/enterprise/pandora_console_enterprise.spec \
$CODE_HOME_ENT/pandora/trunk/pandora_server/PandoraFMS-Enterprise/pandora_server_enterprise.spec"
DEBIAN_FILES="$CODE_HOME/pandora_console/DEBIAN \
$CODE_HOME/pandora_server/DEBIAN \
$CODE_HOME/pandora_agents/unix/DEBIAN \
$CODE_HOME_ENT/pandora/trunk/pandora_console/DEBIAN \
$CODE_HOME_ENT/pandora/trunk/pandora_server/PandoraFMS-Enterprise/DEBIAN"
SERVER_FILE="$CODE_HOME/pandora_server/lib/PandoraFMS/Config.pm"
CONSOLE_DB_FILE="$CODE_HOME/pandora_console/pandoradb_data.sql"
CONSOLE_FILE="$CODE_HOME/pandora_console/include/config_process.php"
AGENT_UNIX_FILE="$CODE_HOME/pandora_agents/unix/pandora_agent"
AGENT_WIN_FILE="$CODE_HOME/pandora_agents/win32/pandora.cc"
# Update version in spec files
function update_spec_version {
FILE=$1
if [ $NB == 1 ]; then
sed -e "s/^\s*%define\s\s*release\s\s*.*/%define release $BUILD/" "$FILE" > "$TEMP_FILE" && mv "$TEMP_FILE" "$FILE"
else
sed -e "s/^\s*%define\s\s*release\s\s*.*/%define release 1/" "$FILE" > "$TEMP_FILE" && mv "$TEMP_FILE" "$FILE"
fi
sed -e "s/^\s*%define\s\s*version\s\s*.*/%define version $VERSION/" "$FILE" > "$TEMP_FILE" && mv "$TEMP_FILE" "$FILE"
}
# Update version in debian dirs
function update_deb_version {
DEBIAN_DIR=$1
if [ $NB == 1 ]; then
LOCAL_VERSION="$VERSION-$BUILD"
else
LOCAL_VERSION="$VERSION"
fi
sed -e "s/^pandora_version\s*=.*/pandora_version=\"$VERSION\"/" "$DEBIAN_DIR/make_deb_package.sh" > "$TEMP_FILE" && mv "$TEMP_FILE" "$DEBIAN_DIR/make_deb_package.sh" && sed -e "s/^Version:\s*.*/Version: $LOCAL_VERSION/" "$DEBIAN_DIR/control" > "$TEMP_FILE" && mv "$TEMP_FILE" "$DEBIAN_DIR/control"
}
# Spec files
for file in $SPEC_FILES; do
echo "Updating spec file $file..."
update_spec_version $file
done
# Debian dirs
for dir in $DEBIAN_FILES; do
echo "Updating DEBIAN dir $dir..."
update_deb_version $dir
done
# Pandora Server
echo "Updating Pandora Server version..."
sed -e "s/my\s\s*\$pandora_version\s*=.*/my \$pandora_version = \"$VERSION\";/" "$SERVER_FILE" > "$TEMP_FILE" && mv "$TEMP_FILE" "$SERVER_FILE"
sed -e "s/my\s\s*\$pandora_build\s*=.*/my \$pandora_build = \"$BUILD\";/" "$SERVER_FILE" > "$TEMP_FILE" && mv "$TEMP_FILE" "$SERVER_FILE"
# Pandora Console
echo "Updating Pandora Console DB version..."
sed -e "s/\s*[(]\s*'db_scheme_version'\s*\,.*/('db_scheme_version'\,'$VERSION'),/" "$CONSOLE_DB_FILE" > "$TEMP_FILE" && mv "$TEMP_FILE" "$CONSOLE_DB_FILE"
sed -e "s/\s*[(]\s*'db_scheme_build'\s*\,.*/('db_scheme_build'\,'PD$BUILD'),/" "$CONSOLE_DB_FILE" > "$TEMP_FILE" && mv "$TEMP_FILE" "$CONSOLE_DB_FILE"
echo "Updating Pandora Console version..."
sed -e "s/\s*\$pandora_version\s*=.*/\$pandora_version = 'v$VERSION';/" "$CONSOLE_FILE" > "$TEMP_FILE" && mv "$TEMP_FILE" "$CONSOLE_FILE"
sed -e "s/\s*\$build_version\s*=.*/\$build_version = 'PC$BUILD';/" "$CONSOLE_FILE" > "$TEMP_FILE" && mv "$TEMP_FILE" "$CONSOLE_FILE"
# Pandora Agents
echo "Updating Pandora Unix Agent version..."
sed -e "s/\s*use\s*constant\s*AGENT_VERSION =>.*/use constant AGENT_VERSION => '$VERSION';/" "$AGENT_UNIX_FILE" > "$TEMP_FILE" && mv "$TEMP_FILE" "$AGENT_UNIX_FILE"
sed -e "s/\s*use\s*constant\s*AGENT_BUILD =>.*/use constant AGENT_BUILD => '$BUILD';/" "$AGENT_UNIX_FILE" > "$TEMP_FILE" && mv "$TEMP_FILE" "$AGENT_UNIX_FILE"
echo "Updating Pandora Windows Agent version..."
sed -e "s/\s*#define\s*PANDORA_VERSION\s*.*/#define PANDORA_VERSION (\"$VERSION(Build $BUILD)\")/" "$AGENT_WIN_FILE" > "$TEMP_FILE" && mv "$TEMP_FILE" "$AGENT_WIN_FILE"
rm -f "$TEMP_FILE"