Issue #34 - merging build changes originally made for the new svn transition into git.

Former-commit-id: 40f016a9f9e605b039d41ed44a59a269caf8a024
This commit is contained in:
Bryan Kowal 2012-01-18 16:00:45 -06:00
parent 06a8b51d6d
commit 9d64e1df12
40 changed files with 292 additions and 97 deletions

View file

@ -3,8 +3,8 @@
#
Name: awips2-adapt-native
Summary: AWIPS II Adapt Native Distribution
Version: 1.0.0
Release: 1
Version: %{_component_version}
Release: %{_component_release}
Group: AWIPSII
BuildRoot: /tmp
Prefix: /awips2

View file

@ -9,8 +9,8 @@
Name: %{_component_name}
Summary: AWIPS II AlertViz
Version: 1.0.0
Release: 1
Version: %{_component_version}
Release: %{_component_release}
Group: AWIPSII
BuildRoot: /tmp
Prefix: %{_component_default_prefix}

View file

@ -3,8 +3,8 @@
#
Name: awips2-aviation-shared
Summary: AWIPS II Aviation Distribution
Version: 1.0.0
Release: 1
Version: %{_component_version}
Release: %{_component_release}
Group: AWIPSII
BuildRoot: /tmp
URL: N/A

View file

@ -7,8 +7,8 @@
#
Name: %{_component_name}
Summary: AWIPS II CLI Installation
Version: 1.0.0
Release: 1
Version: %{_component_version}
Release: %{_component_release}
Group: AWIPSII
BuildRoot: /tmp
BuildArch: noarch

View file

@ -3,8 +3,8 @@
#
Name: awips2-database-server-configuration
Summary: AWIPS II Database Server Configuration
Version: 1.0.0
Release: 1
Version: %{_component_version}
Release: %{_component_release}
Group: AWIPSII
BuildRoot: /tmp
URL: N/A

View file

@ -3,8 +3,8 @@
#
Name: awips2-database-standalone-configuration
Summary: AWIPS II Database Standalone Configuration
Version: 1.0.0
Release: 1
Version: %{_component_version}
Release: %{_component_release}
Group: AWIPSII
BuildRoot: /tmp
URL: N/A

View file

@ -8,8 +8,8 @@
Name: %{_component_name}
Summary: AWIPS II Database Installation
Version: 1.0.0
Release: 1
Version: %{_component_version}
Release: %{_component_release}
Group: AWIPSII
BuildRoot: /tmp
Prefix: %{_component_default_prefix}

View file

@ -3,8 +3,8 @@
#
Name: awips2-data.hdf5-gfe.climo
Summary: AWIPS II gfe.climo Distribution
Version: 1.0.0
Release: 1
Version: %{_component_version}
Release: %{_component_release}
Group: AWIPSII
BuildRoot: /tmp
Prefix: /awips2/edex

View file

@ -3,8 +3,8 @@
#
Name: awips2-gfesuite-client
Summary: AWIPS II gfesuite client Installation
Version: 1.0.0
Release: 1
Version: %{_component_version}
Release: %{_component_release}
Group: AWIPSII
BuildRoot: /tmp
BuildArch: noarch

View file

@ -3,8 +3,8 @@
#
Name: awips2-gfesuite-server
Summary: AWIPS II gfesuite server Installation
Version: 1.0.0
Release: 1
Version: %{_component_version}
Release: %{_component_release}
Group: AWIPSII
BuildRoot: /tmp
BuildArch: noarch

View file

@ -6,8 +6,8 @@
#
Name: %{_component_name}
Summary: AWIPS II Hydroapps Distribution
Version: 1.0.0
Release: 1
Version: %{_component_version}
Release: %{_component_release}
Group: AWIPSII
BuildRoot: /tmp
URL: N/A

View file

@ -3,8 +3,8 @@
#
Name: awips2-localapps-environment
Summary: AWIPS II localapps Environment Spec File
Version: 1.0.0
Release: 1
Version: %{_component_version}
Release: %{_component_release}
Group: AWIPSII
BuildRoot: /tmp
BuildArch: noarch

View file

@ -6,8 +6,8 @@
#
Name: %{_component_name}
Summary: AWIPS II Maps Database
Version: 1.0.0
Release: 1
Version: %{_component_version}
Release: %{_component_release}
Group: AWIPSII
BuildRoot: /tmp
URL: N/A

View file

@ -9,8 +9,8 @@
Name: %{_component_name}
Summary: AWIPS II Notification
Version: 1.0.0
Release: 1
Version: %{_component_version}
Release: %{_component_release}
Group: AWIPSII
BuildRoot: /tmp
Prefix: %{_component_default_prefix}

View file

@ -3,8 +3,8 @@
#
Name: awips2-pypies
Summary: AWIPS II PyPIES
Version: 1.0.0
Release: 1
Version: %{_component_version}
Release: %{_component_release}
Group: AWIPSII
BuildRoot: /tmp
URL: N/A

View file

@ -6,8 +6,8 @@
#
Name: %{_component_name}
Summary: AWIPS II Radar Server
Version: 1.0.0
Release: 1
Version: %{_component_version}
Release: %{_component_release}
Group: AWIPSII
BuildRoot: /tmp
Prefix: %{_component_default_prefix}

View file

@ -3,8 +3,8 @@
#
Name: awips2-data.hdf5-topo
Summary: AWIPS II Topo Distribution
Version: 1.0.0
Release: 1
Version: %{_component_version}
Release: %{_component_release}
Group: AWIPSII
BuildRoot: /tmp
Prefix: /awips2/edex

View file

@ -76,34 +76,14 @@ function buildRPM()
return
fi
if [ "${COMPONENT_DIR}" = "Installer.java-jrockit" ]; then
export BUILDROOT_DIR="${BUILDROOT_DIR}"
# Use the updated build method for the jrockit rpm.
rpmbuild -ba \
--target=i386 \
--define '_topdir %(echo ${RPM_TOP_DIR})' \
--define '_build_root %(echo ${BUILDROOT_DIR})' \
--define '_baseline_workspace %(echo ${WORKSPACE_DIR})' \
--buildroot ${BUILDROOT_DIR} \
${COMPONENT_SPECS}
RC=$?
unset BUILDROOT_DIR
if [ ${RC} -ne 0 ]; then
echo "Unable To Build The RPM Defined In: ${COMPONENT_DIR}."
echo "Unable To Continue ... Terminating."
exit 1
fi
return
fi
export BUILDROOT_DIR="${BUILDROOT_DIR}"
# Build The RPM.
rpmbuild -ba --target=i386 \
--define '_topdir %(echo ${RPM_TOP_DIR})' \
--define '_build_root %(echo ${BUILDROOT_DIR})' \
--define '_component_version %(echo ${AWIPSII_VERSION})' \
--define '_component_release %(echo ${AWIPSII_RELEASE})' \
--define '_baseline_workspace %(echo ${WORKSPACE_DIR})' \
--buildroot ${BUILDROOT_DIR} \
${COMPONENT_SPECS}
@ -190,7 +170,6 @@ buildRPM "Installer.aviation"
buildRPM "Installer.cli"
buildRPM "Installer.database"
buildRPM "Installer.maps-database"
#buildRPM "Installer.ncep-database"
buildRPM "Installer.gfe.climo"
buildRPM "Installer.topo"
buildRPM "Installer.hydroapps"

View file

@ -7,8 +7,8 @@
#
Name: %{_component_name}
Summary: AWIPS II Edex
Version: 1.0.0
Release: 1
Version: %{_component_version}
Release: %{_component_release}
Group: AWIPSII
BuildRoot: /tmp
Prefix: %{_component_default_prefix}

View file

@ -7,8 +7,8 @@
#
Name: %{_component_name}
Summary: AWIPS II Edex Bufr
Version: 1.0.0
Release: 1
Version: %{_component_version}
Release: %{_component_release}
Group: AWIPSII
BuildRoot: /tmp
Prefix: %{_component_default_prefix}

View file

@ -7,8 +7,8 @@
#
Name: %{_component_name}
Summary: AWIPS II Edex Common Core
Version: 1.0.0
Release: 1
Version: %{_component_version}
Release: %{_component_release}
Group: AWIPSII
BuildRoot: /tmp
Prefix: %{_component_default_prefix}

View file

@ -7,8 +7,8 @@
#
Name: %{_component_name}
Summary: AWIPS II Edex Configuration Distribution
Version: 1.0.0
Release: 1
Version: %{_component_version}
Release: %{_component_release}
Group: AWIPSII
BuildRoot: /tmp
Prefix: %{_component_default_prefix}

View file

@ -7,8 +7,8 @@
#
Name: %{_component_name}
Summary: AWIPS II Edex Core
Version: 1.0.0
Release: 1
Version: %{_component_version}
Release: %{_component_release}
Group: AWIPSII
BuildRoot: /tmp
Prefix: %{_component_default_prefix}

View file

@ -7,8 +7,8 @@
#
Name: %{_component_name}
Summary: AWIPS II Edex Cots
Version: 1.0.0
Release: 1
Version: %{_component_version}
Release: %{_component_release}
Group: AWIPSII
BuildRoot: /tmp
Prefix: %{_component_default_prefix}

View file

@ -7,8 +7,8 @@
#
Name: %{_component_name}
Summary: AWIPS II Edex Dat
Version: 1.0.0
Release: 1
Version: %{_component_version}
Release: %{_component_release}
Group: AWIPSII
BuildRoot: /tmp
Prefix: %{_component_default_prefix}

View file

@ -7,8 +7,8 @@
#
Name: %{_component_name}
Summary: AWIPS II Edex Dataplugins
Version: 1.0.0
Release: 1
Version: %{_component_version}
Release: %{_component_release}
Group: AWIPSII
BuildRoot: /tmp
Prefix: %{_component_default_prefix}

View file

@ -7,8 +7,8 @@
#
Name: %{_component_name}
Summary: AWIPS II Edex GFE
Version: 1.0.0
Release: 1
Version: %{_component_version}
Release: %{_component_release}
Group: AWIPSII
BuildRoot: /tmp
Prefix: %{_component_default_prefix}

View file

@ -7,8 +7,8 @@
#
Name: %{_component_name}
Summary: AWIPS II Edex Grib
Version: 1.0.0
Release: 1
Version: %{_component_version}
Release: %{_component_release}
Group: AWIPSII
BuildRoot: /tmp
Prefix: %{_component_default_prefix}

View file

@ -5,8 +5,8 @@
#
Name: %{_component_name}
Summary: AWIPS II Edex Hydro
Version: 1.0.0
Release: 1
Version: %{_component_version}
Release: %{_component_release}
Group: AWIPSII
BuildRoot: /tmp
URL: N/A

View file

@ -3,8 +3,8 @@
#
Name: awips2-edex-native
Summary: AWIPS II Edex Native
Version: 1.0.0
Release: 1
Version: %{_component_version}
Release: %{_component_release}
Group: AWIPSII
BuildRoot: /tmp
Prefix: /awips2

View file

@ -7,8 +7,8 @@
#
Name: %{_component_name}
Summary: AWIPS II Edex ncep nsharp plugins
Version: 1.0.0
Release: 1
Version: %{_component_version}
Release: %{_component_release}
Group: AWIPSII
BuildRoot: /tmp
Prefix: %{_component_default_prefix}

View file

@ -7,8 +7,8 @@
#
Name: %{_component_name}
Summary: AWIPS II Edex ncep plugins
Version: 1.0.0
Release: 1
Version: %{_component_version}
Release: %{_component_release}
Group: AWIPSII
BuildRoot: /tmp
Prefix: %{_component_default_prefix}

View file

@ -7,8 +7,8 @@
#
Name: %{_component_name}
Summary: AWIPS II Edex Radar
Version: 1.0.0
Release: 1
Version: %{_component_version}
Release: %{_component_release}
Group: AWIPSII
BuildRoot: /tmp
Prefix: %{_component_default_prefix}

View file

@ -7,8 +7,8 @@
#
Name: %{_component_name}
Summary: AWIPS II Edex Satellite
Version: 1.0.0
Release: 1
Version: %{_component_version}
Release: %{_component_release}
Group: AWIPSII
BuildRoot: /tmp
Prefix: %{_component_default_prefix}

View file

@ -7,8 +7,8 @@
#
Name: %{_component_name}
Summary: AWIPS II Edex Shapefiles
Version: 1.0.0
Release: 1
Version: %{_component_version}
Release: %{_component_release}
Group: AWIPSII
BuildRoot: /tmp
Prefix: %{_component_default_prefix}

View file

@ -7,8 +7,8 @@
#
Name: %{_component_name}
Summary: AWIPS II Edex Text
Version: 1.0.0
Release: 1
Version: %{_component_version}
Release: %{_component_release}
Group: AWIPSII
BuildRoot: /tmp
Prefix: %{_component_default_prefix}

View file

@ -0,0 +1,211 @@
#!/bin/bash
# This is the baselined Hudson script that is used to build the
# 64-bit RPMs for both release and nightly builds.
# Expected Environment Variables:
# 1) ${WORKSPACE} - the location of the hudson workspace.
# 2) ${AWIPSII_VERSION} - the build version; defaults to the contents of version.txt
# 3) ${AWIPSII_RELEASE} - the build release; defaults to the current date in YYYYMMDD
# Provided Variables:
# 1) ${REPOSITORY} - the root directory of the AWIPS II repository.
# 2) ${REPOSITORY_LOCK} - the name of the repository locking file.
REPOSITORY="/install/repository"
REPOSITORY_LOCK="repository.lck"
function logINFO()
{
# Arguments:
# ${1} - the message to log.
echo "INFO: ${1}"
}
function logERROR()
{
# Arguments:
# ${1} - the message to log.
echo "ERROR: ${1}"
}
function lockRepository()
{
if [ -f ${REPOSITORY}/arch.x86_64/${REPOSITORY_LOCK} ]; then
logINFO "The repository is currently locked."
sleep 5
while [ -f ${REPOSITORY}/arch.x86_64/${REPOSITORY_LOCK} ]
do
logINFO "The repository is still locked."
sleep 5
done
logINFO "The repository is no longer locked."
fi
logINFO "Locking the repository."
touch ${REPOSITORY}/arch.x86_64/${REPOSITORY_LOCK}
}
function unlockRepository()
{
sleep 5
logINFO "Unlocking the repository."
rm -fv ${REPOSITORY}/arch.x86_64/${REPOSITORY_LOCK}
}
function buildRelease()
{
REPOSITORY="${REPOSITORY}/release"
time /bin/bash build.sh
if [ $? -ne 0 ]; then
logERROR "Failed to build the x86_64 RPMs."
return 1
fi
return 0
}
function createRepositoryRelease()
{
#1) Create the needed directories, if they do not already exist.
if [ ! -d ${REPOSITORY}/arch.x86_64/${AWIPSII_VERSION}-${AWIPSII_RELEASE} ]; then
mkdir -p ${REPOSITORY}/arch.x86_64/${AWIPSII_VERSION}-${AWIPSII_RELEASE}
if [ $? -ne 0 ]; then
return 1
fi
chmod 777 ${REPOSITORY}/arch.x86_64/${AWIPSII_VERSION}-${AWIPSII_RELEASE}
if [ $? -ne 0 ]; then
return 1
fi
fi
#2) Copy the RPMs that we are responsible for into the repository.
cd ${AWIPSII_TOP_DIR}/RPMS
if [ -d ${REPOSITORY}/arch.x86_64/${AWIPSII_VERSION}-${AWIPSII_RELEASE}/x86_64 ]; then
rm -rf ${REPOSITORY}/arch.x86_64/${AWIPSII_VERSION}-${AWIPSII_RELEASE}/x86_64
fi
cp -rv x86_64 ${REPOSITORY}/arch.x86_64/${AWIPSII_VERSION}-${AWIPSII_RELEASE}
if [ $? -ne 0 ]; then
return 1
fi
#3) Copy the baselined comps.xml file into the repository.
cd ${WORKSPACE}/Installer.rpm/common/yum/arch.x86_64
if [ ! -f comps.xml ]; then
logERROR "The baselined comps.xml file does not exist."
return 1
fi
cp -v comps.xml ${REPOSITORY}/arch.x86_64/${AWIPSII_VERSION}-${AWIPSII_RELEASE}
if [ $? -ne 0 ]; then
return 1
fi
return 0
}
function buildNightly()
{
local RPMS_TO_BUILD="awips2-alertviz awips2-cave awips2-python-dynamicserialize awips2-python-ufpy"
REPOSITORY="${REPOSITORY}/nightly"
# Build the RPMs.
time /bin/bash build.sh "${RPMS_TO_BUILD}"
if [ $? -ne 0 ]; then
logERROR "Failed to build the x86_64 RPMs."
return 1
fi
return 0
}
function createRepositoryNightly()
{
lockRepository
# 1) Determine what the dated directory should be.
DATE=`date +"%Y%m%d"`
# 2) Create the needed directories if they do not already exist.
if [ ! -d ${REPOSITORY}/arch.x86_64/${DATE} ]; then
mkdir -p ${REPOSITORY}/arch.x86_64/${DATE}
if [ $? -ne 0 ]; then
unlockRepository
return 1
fi
chmod 777 ${REPOSITORY}/arch.x86_64/${DATE}
fi
# 3) Copy the RPMs that we are responsible for into the repository.
cd ${AWIPSII_TOP_DIR}/RPMS
# 3i) Remove any existing RPMs from a previous build.
if [ -d ${REPOSITORY}/arch.x86_64/${DATE}/x86_64 ]; then
rm -rf ${REPOSITORY}/arch.x86_64/${DATE}/x86_64
if [ $? -ne 0 ]; then
unlockRepository
return 1
fi
fi
cp -rv x86_64 ${REPOSITORY}/arch.x86_64/${DATE}
if [ $? -ne 0 ]; then
unlockRepository
return 1
fi
# 4) Copy the baselined comps.xml file into the repository.
cd ${WORKSPACE}/Installer.rpm/common/yum/arch.x86_64
if [ ! -f comps.xml ]; then
logERROR "The baselined comps.xml file does not exist."
unlockRepository
return 1
fi
cp -v comps.xml ${REPOSITORY}/arch.x86_64
if [ $? -ne 0 ]; then
unlockRepository
return 1
fi
# 5) Re-build the repository.
cd ${REPOSITORY}/arch.x86_64
createrepo ${REPOSITORY}/arch.x86_64
if [ $? -ne 0 ]; then
unlockRepository
return 1
fi
createrepo -g comps.xml .
if [ $? -ne 0 ]; then
unlockRepository
return 1
fi
unlockRepository
return 0
}
function buildRPMs()
{
pushd . > /dev/null
cd ${WORKSPACE}/Installer.rpm/awips2.64/deploy.builder
# Determine what type of build we are doing.
if [ "${AWIPSII_VERSION}" = "" ] &&
[ "${AWIPSII_RELEASE}" = "" ]; then
buildNightly
if [ $? -ne 0 ]; then
return 1
fi
createRepositoryNightly
RC=$?
else
buildRelease
if [ $? -ne 0 ]; then
return 1
fi
createRepositoryRelease
RC=$?
fi
popd > /dev/null
return ${RC}
}
# Begin
buildRPMs
if [ $? -ne 0 ]; then
exit 1
fi
# Finished
exit 0

View file

@ -3,8 +3,8 @@
#
Name: awips2-python-dynamicserialize
Summary: AWIPS II Python dynamicserialize Site-Package
Version: 1.0.0
Release: 1
Version: %{_component_version}
Release: %{_component_release}
Group: AWIPSII
BuildRoot: /tmp
URL: N/A

View file

@ -3,8 +3,8 @@
#
Name: awips2-python-ufpy
Summary: AWIPS II Python ufpy Site-Package
Version: 1.0.0
Release: 1
Version: %{_component_version}
Release: %{_component_release}
Group: AWIPSII
BuildRoot: /tmp
URL: N/A

View file

@ -14,6 +14,9 @@ if [ "${RPM_TOP_DIR}" = "" ]; then
exit 1
fi
export AWIPSII_VERSION=`cat ${WORKSPACE_DIR}/Installer.rpm/version.txt`
export AWIPSII_RELEASE=`date +"%Y%m%d"`
export CPPFLAGS="-m32"
export PYTHON_EXE="/awips2/python/bin/python"
export LD_LIBRARY_PATH="/awips2/python/lib"
@ -52,6 +55,8 @@ function buildRPM()
# Build The RPM.
rpmbuild -ba --target=i386 \
--define '_build_root %(echo ${BUILDROOT_DIR})' \
--define '_component_version %(echo ${AWIPSII_VERSION})' \
--define '_component_release %(echo ${AWIPSII_RELEASE})' \
--define '_topdir %(echo ${RPM_TOP_DIR})' \
--buildroot ${BUILDROOT_DIR} ${COMPONENT_SPECS}
RC="$?"