diff --git a/cave/build/p2-build.xml b/cave/build/p2-build.xml index 6850180798..efaed4f747 100644 --- a/cave/build/p2-build.xml +++ b/cave/build/p2-build.xml @@ -155,6 +155,9 @@ + @@ -460,20 +463,32 @@ - - - - - - - - - - + + + + + + + + + + + + + + + + + + - @@ -135,6 +134,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/edexOsgi/build.edex/edex/build.properties b/edexOsgi/build.edex/edex/build.properties index e9e4ed5cce..6cd8bf70bf 100644 --- a/edexOsgi/build.edex/edex/build.properties +++ b/edexOsgi/build.edex/edex/build.properties @@ -52,7 +52,8 @@ collectingFolder=${archivePrefix} #The format of the archive. By default a zip is created using antZip. #The list can only contain the configuration for which the desired format is different than zip. -archivesFormat=linux, gtk, x86 - folder +archivesFormat=linux, gtk, x86 - folder &\ + linux, gtk, x86_64 - folder #archivesFormat=win32, win32, x86 - antZip& \ # linux, gtk, ppc - antZip &\ # linux, gtk, x86 - antZip& \ diff --git a/rpms/awips2.cave/deploy.builder/build.sh b/rpms/awips2.cave/deploy.builder/build.sh index 5cc65d2037..cd82d78d17 100644 --- a/rpms/awips2.cave/deploy.builder/build.sh +++ b/rpms/awips2.cave/deploy.builder/build.sh @@ -183,36 +183,28 @@ function buildFeatureRPMs() for feature in `cat ${CONST_FEATURES_TXT}`; do - echo "feature = ${feature}" if [ "${feature}" = "com.raytheon.uf.common.base.feature" ]; then - echo 'export COMPONENT_NAME="awips2-cave-common-base"' > \ + continue + fi + + echo "feature = ${feature}" + if [ "${feature}" = "com.raytheon.uf.viz.cots.feature" ]; then + echo 'export COMPONENT_NAME="awips2-cave-viz-cots"' > \ ${CONST_SETUP_DIR}/feature.setup echo 'export COMPONENT_FEATURE="${feature}"' >> \ ${CONST_SETUP_DIR}/feature.setup - echo 'export COMPONENT_DESC="awips2-cave-common-base"' >> \ + echo 'export COMPONENT_DESC="awips2-cave-viz-cots"' >> \ ${CONST_SETUP_DIR}/feature.setup - echo 'export DOWNSTREAM_REQUIRES="awips2-cave"' >> \ - ${CONST_SETUP_DIR}/feature.setup + echo 'export DOWNSTREAM_REQUIRES="awips2-common-base"' >> \ + ${CONST_SETUP_DIR}/feature.setup else - if [ "${feature}" = "com.raytheon.uf.viz.cots.feature" ]; then - echo 'export COMPONENT_NAME="awips2-cave-viz-cots"' > \ - ${CONST_SETUP_DIR}/feature.setup - echo 'export COMPONENT_FEATURE="${feature}"' >> \ - ${CONST_SETUP_DIR}/feature.setup - echo 'export COMPONENT_DESC="awips2-cave-viz-cots"' >> \ - ${CONST_SETUP_DIR}/feature.setup - echo 'export DOWNSTREAM_REQUIRES="awips2-cave-common-base"' >> \ - ${CONST_SETUP_DIR}/feature.setup - else - java -jar ${PROCESS_FEATURE_JAR} \ - -p \ - ${CONST_FEATURE_DIR}/${feature} \ - ${CONST_SETUP_DIR_FULL} - RC=$? - if [ ${RC} -ne 0 ]; then - echo "ERROR: ${PROCESS_FEATURE_JAR} Failed." - exit 1 - fi + java -jar ${PROCESS_FEATURE_JAR} \ + -p \ + ${CONST_FEATURE_DIR}/${feature} \ + ${CONST_SETUP_DIR_FULL} + if [ $? -ne 0 ]; then + echo "ERROR: ${PROCESS_FEATURE_JAR} Failed." + exit 1 fi fi diff --git a/rpms/awips2.core/Installer.common-base/component.spec b/rpms/awips2.core/Installer.common-base/component.spec new file mode 100644 index 0000000000..0191fbee13 --- /dev/null +++ b/rpms/awips2.core/Installer.common-base/component.spec @@ -0,0 +1,178 @@ +%define _build_arch %(uname -i) +%define _zip_file common-base.zip + +%global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g') +%global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-java-repack-jars[[:space:]].*$!!g') + +# +# AWIPS II CAVE/EDEX common base Spec File +# +Name: awips2-common-base +Summary: AWIPS II Edex +Version: %{_component_version} +Release: %{_component_release} +Group: AWIPSII +BuildRoot: %{_build_root} +BuildArch: %{_build_arch} +URL: N/A +License: N/A +Distribution: N/A +Vendor: Raytheon +Packager: Bryan Kowal + +AutoReq: no +provides: awips2-common-base +requires: awips2-base-component + +%description +AWIPS II Common Base - Contains common plugins utilized by both EDEX and CAVE. + +%prep +# Ensure that a "buildroot" has been specified. +if [ "%{_build_root}" = "" ]; then + echo "ERROR: A BuildRoot has not been specified." + echo "FATAL: Unable to Continue ... Terminating." + exit 1 +fi + +if [ -d %{_build_root} ]; then + rm -rf %{_build_root} +fi +/bin/mkdir %{_build_root} +if [ $? -ne 0 ]; then + exit 1 +fi + +%build +_hybrid_target=buildHybrid + +_build_xml=build.xml +BUILD_EDEX=%{_baseline_workspace}/build.edex +EDEX_DIST=${BUILD_EDEX}/edex/dist + +_pde_build_arch=x86 +if [ "%{_build_arch}" = "x86_64" ]; then + _pde_build_arch=%{_build_arch} +fi + +cd ${BUILD_EDEX} +/awips2/ant/bin/ant -f ${_build_xml} \ + -Dbuild.arch=${_pde_build_arch} ${_hybrid_target} +if [ $? -ne 0 ]; then + exit 1 +fi + +%install +BUILD_EDEX=%{_baseline_workspace}/build.edex +EDEX_DIST=${BUILD_EDEX}/edex/dist + +/usr/bin/unzip ${EDEX_DIST}/common-base.zip -d %{_build_root} +if [ $? -ne 0 ]; then + exit 1 +fi + +%pre +%post +# Set all paths required by CAVE before installing. +export LD_LIBRARY_PATH=/awips2/java/lib:/awips2/python/lib:$LD_LIBRARY_PATH +export LD_PRELOAD=libpython.so +if [ -d /awips2/cave/lib ]; then + export LD_LIBRARY_PATH=/awips2/cave/lib/lib_illusion:$LD_LIBRARY_PATH +fi +if [ -d /awips2/cave/lib64 ]; then + export LD_LIBRARY_PATH=/awips2/cave/lib64/lib_illusion:$LD_LIBRARY_PATH +fi +# Need to use awips2-java to do this. +export PATH=/awips2/java/bin:/awips2/python/bin:${PATH} +export JAVA_HOME="/awips2/java/jre" + +# Set the CAVE logfile location. +export LOGFILE_CAVE=/dev/null + +# Use the eclipse p2 manager. +CAVE_EXE="/awips2/cave/cave" +NOSPLASH_ARG="-nosplash" +DIRECTOR_APP="-application org.eclipse.equinox.p2.director" +DESTINATION_ARG="-destination /awips2/cave" +INSTALL_ARG="-i com.raytheon.uf.common.base.feature.feature.group" +UNINSTALL_ARG="-u com.raytheon.uf.common.base.feature.feature.group" +REPO="-repository file:/awips2/cave/.repository/" + +COMMON_CMD="${CAVE_EXE} ${NOSPLASH_ARG} ${DIRECTOR_APP} ${DESTINATION_ARG}" +INSTALL_CMD="${COMMON_CMD} ${INSTALL_ARG} ${REPO}" +UNINSTALL_CMD="${COMMON_CMD} ${UNINSTALL_ARG}" + +# EDEX installed? + +# when the plugins are for EDEX, we just leave +# them on the filesystem; no action required. +rpm -q awips2-edex > /dev/null 2>&1 +if [ $? -ne 0 ]; then + # remove the edex plugins + rm -rf /awips2/edex +fi + +# CAVE installed? + +# when the plugins are for CAVE, we need to +# use the p2 director to install from a repository. +rpm -q awips2-cave > /dev/null 2>&1 +if [ $? -eq 0 ]; then + # Uninstall any existing components since the p2 director does not + # support updating. + # If the feature is not installed, this does not fail quietly. + # Determine if the feature needs to be uninstalled. + ${UNINSTALL_CMD} -verifyOnly > /dev/null 2>&1 + if [ $? -eq 0 ]; then + LOG_TIMESTAMP=`date` + echo "uninstall previous STARTED: ${LOG_TIMESTAMP}" + ${UNINSTALL_CMD} + LOG_TIMESTAMP=`date` + echo "uninstall previous COMPLETE: ${LOG_TIMESTAMP}" + fi + + # complete the install + LOG_TIMESTAMP=`date` + echo "installation STARTED: ${LOG_TIMESTAMP}" + ${INSTALL_CMD} + if [ $? -ne 0 ]; then + exit 1 + fi + LOG_TIMESTAMP=`date` + echo "installation COMPLETE: ${LOG_TIMESTAMP}" + + # remove the repository + if [ -f /awips2/cave/.repository/artifacts.xml ]; then + rm -f /awips2/cave/.repository/artifacts.xml + fi + + if [ -f /awips2/cave/.repository/content.xml ]; then + rm -f /awips2/cave/.repository/content.xml + fi + + if [ -d /awips2/cave/.repository/features ]; then + rm -rf /awips2/cave/.repository/features + fi + + if [ -d /awips2/cave/.repository/plugins ]; then + rm -rf /awips2/cave/.repository/plugins + fi +else + # remove the cave repository + rm -rf /awips2/cave +fi + +%preun +%postun + +%clean +rm -rf ${RPM_BUILD_ROOT} + +%files +%defattr(644,awips,fxalpha,755) +%dir /awips2 +%dir /awips2/edex +/awips2/edex/* + +%dir /awips2/cave/.repository +/awips2/cave/.repository/* diff --git a/rpms/awips2.edex/deploy.builder/build.sh b/rpms/awips2.edex/deploy.builder/build.sh index c8b251775b..f10f4cb261 100644 --- a/rpms/awips2.edex/deploy.builder/build.sh +++ b/rpms/awips2.edex/deploy.builder/build.sh @@ -172,7 +172,8 @@ do # do not build edex-datadelivery since it is now built differently from the other edex feature rpms # since this is currently the only case, the exclusion will be hard-coded - if [ ! "${edex_component}" = "edex-datadelivery" ]; then + if [ ! "${edex_component}" = "edex-datadelivery" ] && + [ ! "${edex_component}" = "common-base" ]; then export COMPONENT_NAME="${edex_component}" buildRPM "Installer.edex-component" fi diff --git a/rpms/build/common/lookupRPM.sh b/rpms/build/common/lookupRPM.sh index eccee6371a..40f72f8871 100644 --- a/rpms/build/common/lookupRPM.sh +++ b/rpms/build/common/lookupRPM.sh @@ -200,6 +200,10 @@ function lookupRPM() export RPM_SPECIFICATION="${awips2_core_dir}/Installer.version" return 0 fi + if [ "${1}" = "awips2-common-base" ]; then + export RPM_SPECIFICATION="${awips2_core_dir}/Installer.common-base" + return 0 + fi # foss rpms. if [ "${1}" = "-qpid" ]; then diff --git a/rpms/build/i386/build.sh b/rpms/build/i386/build.sh index 883e9a3ddd..6203dd95ce 100644 --- a/rpms/build/i386/build.sh +++ b/rpms/build/i386/build.sh @@ -142,6 +142,7 @@ if [ "${1}" = "-postgres" ]; then fi if [ "${1}" = "-delta" ]; then + buildRPM "awips2-common-base" buildCAVE if [ $? -ne 0 ]; then exit 1 @@ -185,6 +186,7 @@ if [ "${1}" = "-delta" ]; then fi if [ "${1}" = "-full" ]; then + buildRPM "awips2-common-base" buildCAVE if [ $? -ne 0 ]; then exit 1 @@ -340,6 +342,7 @@ fi if [ "${1}" = "-viz" ]; then buildRPM "awips2" + buildRPM "awips2-common-base" buildCAVE if [ $? -ne 0 ]; then exit 1 @@ -351,6 +354,7 @@ fi if [ "${1}" = "-edex" ]; then buildRPM "awips2" + buildRPM "awips2-common-base" buildRPM "awips2-cli" buildRPM "awips2-gfesuite-client" buildRPM "awips2-gfesuite-server" diff --git a/rpms/build/x86_64/build.sh b/rpms/build/x86_64/build.sh index f7f56475d1..5a7e71041c 100644 --- a/rpms/build/x86_64/build.sh +++ b/rpms/build/x86_64/build.sh @@ -134,6 +134,7 @@ if [ "${1}" = "-postgres" ]; then fi if [ "${1}" = "-delta" ]; then + buildRPM "awips2-common-base" buildCAVE if [ $? -ne 0 ]; then exit 1 @@ -164,6 +165,7 @@ if [ "${1}" = "-delta" ]; then fi if [ "${1}" = "-full" ]; then + buildRPM "awips2-common-base" buildCAVE if [ $? -ne 0 ]; then exit 1 @@ -229,6 +231,7 @@ if [ "${1}" = "-ade" ]; then fi if [ "${1}" = "-viz" ]; then + buildRPM "awips2-common-base" buildCAVE if [ $? -ne 0 ]; then exit 1 @@ -239,6 +242,7 @@ if [ "${1}" = "-viz" ]; then fi if [ "${1}" = "-edex" ]; then + buildRPM "awips2-common-base" buildEDEX if [ $? -ne 0 ]; then exit 1