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