awips2/rpms/awips2.core/Installer.tools/component.spec
Steve Harris 77cbd6c1e5 12.9.1-5 baseline
Former-commit-id: f2fac39428 [formerly 61f269f54c [formerly d85b989f77196d20eb2d2a21cf4daa13d50474ae]]
Former-commit-id: 61f269f54c
Former-commit-id: a1d931fd44
2012-08-21 15:27:03 -05:00

208 lines
No EOL
5.9 KiB
RPMSpec

#
# AWIPS II Tools Spec File
#
Name: awips2-tools
Summary: AWIPS II Tools Distribution
Version: 1.0.0
Release: 3
Group: AWIPSII
BuildRoot: /tmp
BuildArch: i386
Prefix: /awips2/tools
URL: N/A
License: N/A
Distribution: N/A
Vendor: Raytheon
Packager: Bryan Kowal
AutoReq: no
provides: awips2-tools
%description
AWIPS II Python Distribution - Contains the AWIPS II Tool-Set. Presently,
the AWIPS II Tool-Set consists of various hdf5 utilities.
%prep
# Verify That The User Has Specified A BuildRoot.
if [ "${RPM_BUILD_ROOT}" = "/tmp" ]
then
echo "An Actual BuildRoot Must Be Specified. Use The --buildroot Parameter."
echo "Unable To Continue ... Terminating"
exit 1
fi
mkdir -p ${RPM_BUILD_ROOT}/awips2/tools
# The temporary build location of hdf5
mkdir -p /tmp/awips2-hdf5/build
mkdir -p ${RPM_BUILD_ROOT}/etc/profile.d
%build
# Ensure that awips2-python has been installed
COMMAND=`rpm -q awips2-python`
RC="$?"
if [ ! "${RC}" = "0" ]; then
echo "ERROR: awips2-python Must Be Installed."
echo "Unable To Continue ... Terminating."
exit 1
fi
PROFILE_D_DIR="rpms/awips2.core/Installer.tools/scripts/profile.d"
cp %{_baseline_workspace}/${PROFILE_D_DIR}/* ${RPM_BUILD_ROOT}/etc/profile.d
# Update LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/awips2/python/lib:$LD_LIBRARY_PATH
HDF5_SOURCE_DIR="%{_baseline_workspace}/rpms/awips2.core/Installer.tools/source"
HDF5_TAR_FILE="hdf5-1.8.4-patch1.tar.gz"
LZF_TAR_FILE="lzf.tar.gz"
# Copy the hdf5 source tar files to our temporary build directory
cp ${HDF5_SOURCE_DIR}/* /tmp/awips2-hdf5/build
cd /tmp/awips2-hdf5/build
# Untar both tar files.
tar -xf ${HDF5_TAR_FILE}
tar -xf ${LZF_TAR_FILE}
# Apply the patch.
cd hdf5-1.8.4-patch1
patch -p2 -i ../hdf5-1.8.4-patch1.patch0
RC=$?
if [ $? -ne 0 ]; then
exit 1
fi
export AM_LDFLAGS="-L/tmp/awips2-hdf5/build/lzf/lib"
export AM_CPPFLAGS="-I/tmp/awips2-hdf5/build/lzf/include"
export LIBS="-llzf_filter"
export LD_LIBRARY_PATH=/tmp/awips2-hdf5/build/lzf/lib:$LD_LIBRARY_PATH
./configure --prefix=${RPM_BUILD_ROOT}/awips2/tools
RC="$?"
if [ ! "${RC}" = "0" ]; then
exit 1
fi
make
RC="$?"
if [ ! "${RC}" = "0" ]; then
exit 1
fi
%install
cd /tmp/awips2-hdf5/build/hdf5-1.8.4-patch1
make install
# Copy the lzf library to tools/lib
cp /tmp/awips2-hdf5/build/lzf/lib/* \
${RPM_BUILD_ROOT}/awips2/tools/lib
# Copies the standard Raytheon licenses into a license directory for the
# current component.
function copyLegal()
{
# $1 == Component Build Root
COMPONENT_BUILD_DIR=${1}
mkdir -p ${RPM_BUILD_ROOT}/${COMPONENT_BUILD_DIR}/licenses
# Create a Tar file with our FOSS licenses.
tar -cjf %{_baseline_workspace}/rpms/legal/FOSS_licenses.tar \
%{_baseline_workspace}/rpms/legal/FOSS_licenses/
cp %{_baseline_workspace}/rpms/legal/license.txt \
${RPM_BUILD_ROOT}/${COMPONENT_BUILD_DIR}/licenses
cp "%{_baseline_workspace}/rpms/legal/Master Rights File.pdf" \
${RPM_BUILD_ROOT}/${COMPONENT_BUILD_DIR}/licenses
cp %{_baseline_workspace}/rpms/legal/FOSS_licenses.tar \
${RPM_BUILD_ROOT}/${COMPONENT_BUILD_DIR}/licenses
rm -f %{_baseline_workspace}/rpms/legal/FOSS_licenses.tar
}
mkdir -p ${RPM_BUILD_ROOT}/awips2/tools/bin
mkdir -p ${RPM_BUILD_ROOT}/awips2/tools/include
mkdir -p ${RPM_BUILD_ROOT}/awips2/tools/lib
copyLegal "awips2/tools"
rm -rf /tmp/awips2-hdf5
%pre
if [ "${1}" = "2" ]; then
exit 0
fi
echo -e "\e[1;34m--------------------------------------------------------------------------------\e[m"
echo -e "\e[1;34m\| Installing the AWIPS II Tools Distribution...\e[m"
echo -e "\e[1;34m--------------------------------------------------------------------------------\e[m"
echo -e "\e[1;34m Installation Root = ${RPM_INSTALL_PREFIX}\e[m"
%post
function printFailureMessage()
{
echo -e "\e[1;31m--------------------------------------------------------------------------------\e[m"
echo -e "\e[1;31m\| AWIPS II Tools Distribution Installation - FAILED\e[m"
echo -e "\e[1;31m--------------------------------------------------------------------------------\e[m"
}
echo "--------------------------------------------------------------------------------"
echo "\| Setting up AWIPS II Tools Runtime and Environment..."
echo "--------------------------------------------------------------------------------"
#echo "--------------------------------------------------------------------------------"
#echo "\| Adding Environment Variables for AWIPS II Tools"
#echo "--------------------------------------------------------------------------------"
if [ "${1}" = "2" ]; then
exit 0
fi
echo -e "\e[1;32m--------------------------------------------------------------------------------\e[m"
echo -e "\e[1;32m\| AWIPS II Tools Distribution Installation - COMPLETE\e[m"
echo -e "\e[1;32m--------------------------------------------------------------------------------\e[m"
%preun
if [ "${1}" = "1" ]; then
exit 0
fi
%postun
if [ "${1}" = "1" ]; then
exit 0
fi
# Remove The profile.d Script If One Was Created.
AWIPS2_TOOLS_SH="/etc/profile.d/awips2Tools.sh"
if [ -f ${AWIPS2_TOOLS_SH} ]; then
rm -f ${AWIPS2_TOOLS_SH}
fi
AWIPS2_TOOLS_CSH="/etc/profile.d/awips2Tools.csh"
if [ -f ${AWIPS2_TOOLS_CSH} ]; then
rm -f ${AWIPS2_TOOLS_CSH}
fi
echo -e "\e[1;34m--------------------------------------------------------------------------------\e[m"
echo -e "\e[1;34m\| The AWIPS II Tools Distribution Has Been Successfully Removed\e[m"
echo -e "\e[1;34m--------------------------------------------------------------------------------\e[m"
%clean
rm -rf ${RPM_BUILD_ROOT}
%files
%defattr(644,awips,fxalpha,755)
%attr(755,root,root) /etc/profile.d/awips2HDF5Tools.csh
%attr(755,root,root) /etc/profile.d/awips2HDF5Tools.sh
%dir /awips2/tools
%dir /awips2/tools/include
/awips2/tools/include/*
%dir /awips2/tools/lib
/awips2/tools/lib/*
%docdir /awips2/tools/licenses
%dir /awips2/tools/licenses
/awips2/tools/licenses/*
%defattr(755,awips,fxalpha,755)
%dir /awips2/tools/bin
/awips2/tools/bin/*