166 lines
3.8 KiB
RPMSpec
166 lines
3.8 KiB
RPMSpec
%define _build_arch %(uname -i)
|
|
%define _tools_build_loc %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
|
|
|
#
|
|
# AWIPS II Tools Spec File
|
|
#
|
|
|
|
Name: awips2-tools
|
|
Summary: AWIPS II Tools Distribution
|
|
Version: %{_component_version}
|
|
Release: 1%{?dist}
|
|
Group: AWIPSII
|
|
BuildRoot: %{_build_root}
|
|
BuildArch: %{_build_arch}
|
|
URL: N/A
|
|
License: N/A
|
|
Distribution: N/A
|
|
Vendor: %{_build_vendor}
|
|
Packager: %{_build_site}
|
|
|
|
AutoReq: no
|
|
Provides: awips2-tools
|
|
|
|
BuildRequires: awips2-python
|
|
BuildRequires: awips2-python-h5py
|
|
|
|
%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 [ "%{_build_root}" = "" ]
|
|
then
|
|
echo "An Actual BuildRoot Must Be Specified. Use The --buildroot Parameter."
|
|
echo "Unable To Continue ... Terminating"
|
|
exit 1
|
|
fi
|
|
|
|
rm -rf %{_build_root}
|
|
mkdir -p %{_build_root}
|
|
# The temporary build location of hdf5 and lzf
|
|
if [ -d %{_tools_build_loc} ]; then
|
|
rm -rf %{_tools_build_loc}
|
|
fi
|
|
mkdir -p %{_tools_build_loc}
|
|
|
|
%build
|
|
# 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}/* %{_tools_build_loc}
|
|
|
|
cd %{_tools_build_loc}
|
|
|
|
# Untar both tar files.
|
|
tar -xf ${HDF5_TAR_FILE}
|
|
tar -xf ${LZF_TAR_FILE}
|
|
|
|
pushd . > /dev/null 2>&1
|
|
# Apply the patch.
|
|
cd hdf5-1.8.4-patch1
|
|
patch -p2 -i ../hdf5-1.8.4-patch1.patch0
|
|
if [ $? -ne 0 ]; then
|
|
exit 1
|
|
fi
|
|
|
|
export AM_CPPFLAGS="-I%{_tools_build_loc}/lzf/include"
|
|
|
|
# run configure to generate the auto-generated hdf5 headers
|
|
./configure --prefix=%{_build_root}/awips2/tools
|
|
if [ $? -ne 0 ]; then
|
|
exit 1
|
|
fi
|
|
popd > /dev/null 2>&1
|
|
|
|
pushd . > /dev/null 2>&1
|
|
# build lzf
|
|
cd lzf
|
|
gcc -O2 -I%{_tools_build_loc}/hdf5-1.8.4-patch1/src \
|
|
-fPIC -shared lzf/*.c lzf_filter.c \
|
|
-L /awips2/python/lib -lhdf5 \
|
|
-o liblzf_filter.so
|
|
if [ $? -ne 0 ]; then
|
|
exit 1
|
|
fi
|
|
popd > /dev/null
|
|
|
|
cd hdf5-1.8.4-patch1
|
|
export AM_LDFLAGS="-L%{_tools_build_loc}/lzf"
|
|
export LIBS="-llzf_filter"
|
|
export LD_LIBRARY_PATH=%{_tools_build_loc}/lzf:/awips2/python/lib
|
|
|
|
# re-configure to include the lzf_filter library that was built previously
|
|
./configure --prefix=/awips2/tools
|
|
if [ $? -ne 0 ]; then
|
|
exit 1
|
|
fi
|
|
|
|
make
|
|
if [ $? -ne 0 ]; then
|
|
exit 1
|
|
fi
|
|
|
|
%install
|
|
mkdir -p %{_build_root}/awips2/tools
|
|
|
|
cd %{_tools_build_loc}/hdf5-1.8.4-patch1
|
|
make install prefix=%{_build_root}/awips2/tools
|
|
|
|
# Copy the lzf library to tools/lib
|
|
cp %{_tools_build_loc}/lzf/*.so \
|
|
%{_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/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
|
|
}
|
|
|
|
copyLegal "awips2/tools"
|
|
|
|
%pre
|
|
%post
|
|
%preun
|
|
%postun
|
|
|
|
%clean
|
|
rm -rf ${RPM_BUILD_ROOT}
|
|
rm -rf %{_tools_build_loc}
|
|
|
|
%files
|
|
%defattr(644,awips,fxalpha,755)
|
|
%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/*
|