Add in Unidata's awips-ade directory

-Updated Dockerfile filenames to include -20.3.2
	-added/removed a few dependencies
	-added a yum update to the devel
	-updated version
-Had to locally add the RPM's to the ade docker since they aren't publically on a server
-Had to update the el7-dev.repo to point to the local RPMs directory

-Updated version in buildEnvironment.sh
-Added a few new paths to rsync.dirs:
	-awips2-core/ignite/*
	-awips2-nws/common/*
	-awips2-nws/features/*
	-awips2-nws/viz/*
-Removed *pdf from rsync.dirs

-rpms/build/x86_86/build.sh - updated this file to use the groups to install the rpms

-removed umlauts from schrodinger in GridUpdater.java

To Do/Change before initial public push:
-Change the dockerhub organization from tiffanym13 to unidata
-Change the el7-dev.repo file to point to our repo on nexus
-Remove the RPM's directory
-Change imgvers in setup.sh to not have the -1
-Change the Dockerfile names back to the original without the version (and just tag it with the version)
-Need to add back in awips2-unidata repo to rsync.dirs, build_rpms.sh, and build/repos
-Figure out how to merge in the awips-ade directory and Unidata build scripts so we can keep the history
-Uncomment the #TM# comments in setup.sh to copy files to fserv
-Take out propriety data (specific to warnings and binlightning)

------------------------------------------------------------------------------

SUMMARY:
	new file:   build/awips-ade/Dockerfile.awips-ade-20.3.2-1.el7
	new file:   build/awips-ade/Dockerfile.awips-devel-20.3.2-1.el7
	new file:   build/awips-ade/awips-ade.sh
	new file:   build/awips-ade/awips-devel.sh
	new file:   build/awips-ade/el7-dev.repo
	new file:   build/build.sh
	new file:   build/buildEnvironment.sh
	new file:   build/build_rpms.sh
	new file:   build/cibuild.sh
	new file:   build/excludes
	new file:   build/repos
	new file:   build/rsync.cave
	new file:   build/rsync.dirs
	new file:   build/setup.sh
	modified:   cave/com.raytheon.viz.grid/src/com/raytheon/viz/grid/inv/GridUpdater.java
	modified:   rpms/build/x86_64/build.sh
This commit is contained in:
ucar-tmeyer 2022-05-05 12:57:24 -05:00
parent 9b876b5319
commit 1323a1be8c
17 changed files with 682 additions and 103 deletions

2
.gitignore vendored
View file

@ -11,3 +11,5 @@ bin-test/
*.o *.o
*.orig *.orig
__pycache__ __pycache__
build/awips-ade/RPMS/
build/logs/

View file

@ -0,0 +1,23 @@
FROM tiffanym13/awips-devel-20.3.2-1:el7
ENV VERSION 20.3.2
ENV RELEASE 1
MAINTAINER Tiffany Meyer<tiffanym@ucar.edu>
USER root
COPY el7-dev.repo /etc/yum.repos.d/awips2.repo
RUN groupadd fxalpha && useradd -G fxalpha awips
RUN mkdir -p /home/awips/dev/build/rpmbuild/RPMS/
ADD RPMS /home/awips/dev/build/rpmbuild/RPMS
RUN yum -y clean all
RUN yum install awips2-ant awips2-eclipse awips2-hdf5-devel awips2-maven awips2-python-cheroot awips2-python-contextlib2 awips2-python-cython awips2-python-jaraco.functools awips2-python-more-itertools awips2-python-pkgconfig awips2-python-portend awips2-python-pycairo awips2-python-pygobject awips2-python-setuptools_scm_git_archive awips2-python-setuptools_scm awips2-python-tempora awips2-python-zc.lockfile awips2-python-numpy awips2-python-dateutil awips2-python-pyparsing awips2-python-pbr awips2-python-mock awips2-python-numexpr awips2-python-thrift awips2-python-setuptools awips2-hdf5 awips2-python-six awips2-python-pytz awips2-netcdf-devel awips2-qpid-proton -y
RUN mkdir -p /awips2/jenkins/buildspace/workspace/AWIPS2-UPC_build/baseline && mkdir -p /awips2/jenkins/buildspace/workspace/tmp
RUN mkdir -p /awips2/jenkins/build/rpms/awips2_latest/{x86_64,noarch}/
RUN chown -R awips:fxalpha /awips2/jenkins/
ENTRYPOINT ["/bin/bash"]

View file

@ -0,0 +1,22 @@
FROM centos:7
ENV VERSION 20.3.2-1
ENV RELEASE 1
MAINTAINER Tiffany Meyer<tiffanym@ucar.edu>
USER root
RUN yum update yum -y
RUN yum groupinstall "Development tools" -y
RUN yum install epel-release -y
RUN yum clean all -y
ENV systemDeps="wget rsync git net-tools gzip libtool"
ENV rpmDeps="gcc-c++ gcc-gfortran rpm-build createrepo expat-devel lua-devel cyrus-sasl-devel cyrus-sasl-plain cyrus-sasl-md5 nss-devel nspr-devel libxml2-devel openldap-devel cmake"
ENV pythonDeps="tk-devel tcl-devel readline-devel bzip2-devel openssl-devel compat-libf2c-34"
ENV awipsDeps="netcdf netcdf-devel"
RUN yum install $systemDeps $rpmDeps $pythonDeps $awipsDeps -y
RUN yum update -y
ENTRYPOINT ["/bin/bash"]

25
build/awips-ade/awips-ade.sh Executable file
View file

@ -0,0 +1,25 @@
#!/bin/bash
dir="$( cd "$(dirname "$0")" ; pwd -P )"
pushd $dir
. ../buildEnvironment.sh
if [ -z "$1" ]; then
echo "supply type (el7)"
exit
fi
os_version=$1
existing=$(sudo docker images |grep awips-ade | grep $1 | awk '{ print $3 }')
if [ ! -z "$existing" ]; then
sudo docker rmi $existing
fi
img="20.3.2-1"
pushd /awips2/repo/awips2-builds/build/awips-ade
sudo docker build -t tiffanym13/awips-ade-${img} -f Dockerfile.awips-ade-${img}.${os_version} .
dockerID=$(sudo docker images | grep awips-ade | grep latest | awk '{print $3}' | head -1 )
#sudo docker tag $dockerID unidata/awips-ade:${AWIPSII_VERSION}-${os_version}
sudo docker tag $dockerID tiffanym13/awips-ade-${img}:${AWIPSII_VERSION}-${os_version}
sudo docker rmi tiffanym13/awips-ade-${img}:latest
sudo docker push tiffanym13/awips-ade-${img}:${AWIPSII_VERSION}-${os_version}

23
build/awips-ade/awips-devel.sh Executable file
View file

@ -0,0 +1,23 @@
#!/bin/bash
dir="$( cd "$(dirname "$0")" ; pwd -P )"
pushd $dir
. ../buildEnvironment.sh
img="awips-devel-20.3.2-1"
if [ -z "$1" ]; then
echo "supply type (el7)"
exit
fi
os_version=$1
existing=$(sudo docker images |grep ${img} | grep $1 | awk '{ print $3 }')
if [ ! -z "$existing" ]; then
sudo docker rmi $existing
fi
pushd /awips2/repo/awips2-builds/build/awips-ade
sudo docker build -t tiffanym13/${img} -f Dockerfile.${img}.${os_version} .
dockerID=$(sudo docker images | grep ${img} | grep latest | awk '{print $3}' | head -1 )
sudo docker tag $dockerID tiffanym13/${img}:${os_version}
sudo docker rmi tiffanym13/${img}:latest
sudo docker push tiffanym13/${img}:${os_version}

View file

@ -0,0 +1,8 @@
[awips2repo]
name=AWIPS II Repository
#baseurl=http://www.unidata.ucar.edu/repos/yum/18.2.1-ade
baseurl=file:///home/awips/dev/build/rpmbuild/RPMS
enabled=1
protect=0
gpgcheck=0
proxy=_none_

93
build/build.sh Executable file
View file

@ -0,0 +1,93 @@
#!/bin/bash -v
set -xe
# Determine where we are
path_to_script=`readlink -f $0`
dir=$(dirname $path_to_script)
source ${dir}/buildEnvironment.sh
export _script_dir=${dir}
echo "Running build.sh from ${_script_dir}"
echo " JENKINS_WORKSPACE = ${JENKINS_WORKSPACE}"
cd ${dir}
logdir=${dir}/logs
if [ ! -d $logdir ]; then
mkdir -p $logdir
fi
START_TIME=`date "+%s"`
timestamp=`date +%Y_%m_%d_%H:%M:%S`
# Cleanup before building CAVE rpms
if [[ ${2} = "buildCAVE" ]]; then
rm -rf ${JENKINS_HOME}/buildspace/workspace/AWIPS2-UPC_build/baseline/
rm -rf ${JENKINS_HOME}/buildspace/workspace/tmp/${USER}/
fi
echo "BUILD_DIR = $BUILD_DIR"
echo "BUILD_WORKSPACE = $BUILD_WORKSPACE"
echo "BASELINE = $BASELINE"
echo "WORKSPACE = $WORKSPACE"
echo "AWIPSII_VERSION = $AWIPSII_VERSION"
echo "AWIPSII_RELEASE = $AWIPSII_RELEASE"
echo "AWIPSII_TOP_DIR = $AWIPSII_TOP_DIR"
echo "UFRAME_ECLIPSE = $UFRAME_ECLIPSE"
echo "AWIPSII_STATIC_FILES = $AWIPSII_STATIC_FILES"
echo "AWIPSII_BUILD_ROOT = $AWIPSII_BUILD_ROOT"
# Prepare the rpm build directory structure
mkdir -p ${AWIPSII_TOP_DIR}/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
pushd . > /dev/null 2>&1
cd ${BASELINE}
mkdir -p ${WORKSPACE}
if [[ ${2} = "buildCAVE" ]]; then
RSYNC_DIRS=`cat $dir/rsync.dirs |grep -v nativelib | grep -v awips2-rpm`
else
RSYNC_DIRS=`cat $dir/rsync.dirs`
fi
rsync -ruql --delete --exclude-from=${dir}/excludes ${RSYNC_DIRS} ${WORKSPACE}
popd > /dev/null 2>&1
# execute the build for the appropriate architecture
_rpms_build_directory=${WORKSPACE}/rpms/build
_architecture=`uname -i`
_build_sh_directory=${_rpms_build_directory}/${_architecture}
pushd . > /dev/null 2>&1
cd ${_build_sh_directory}
cp -v ${dir}/buildEnvironment.sh .
# check rpms/build/x86_64/build.sh for build groups
build_log=${logdir}/build${1}-${timestamp}.log
if [ "${1}" = "-b" -a -n "${2}" ]; then
build_log=${logdir}/build-${2}-${timestamp}.log
fi
/bin/bash ${_build_sh_directory}/build.sh ${1} ${2} > ${build_log}
popd > /dev/null 2>&1
export rpm_end_dir="${AWIPSII_VERSION}-${AWIPSII_RELEASE}"
mkdir -p ${AWIPSII_TOP_DIR}/RPMS/x86_64/
if [ "$(ls -A ${AWIPSII_TOP_DIR}/RPMS/x86_64/)" ]; then
mv ${AWIPSII_TOP_DIR}/RPMS/x86_64/* ${JENKINS_HOME}/build/rpms/awips2_latest/x86_64/
fi
if [ "$(ls -A ${AWIPSII_TOP_DIR}/RPMS/noarch/)" ]; then
mv ${AWIPSII_TOP_DIR}/RPMS/noarch/* ${JENKINS_HOME}/build/rpms/awips2_latest/noarch/
fi
END_TIME=`date "+%s"`
TIME_SPENT=$((END_TIME - START_TIME))
TTI_HOURS=$((TIME_SPENT/3600))
TTI_SECS=$((TIME_SPENT %3600)) #Remaining seconds
TTI_MINS=$((TTI_SECS/60))
TTI_SECS=$((TTI_SECS%60))
echo "Total-time-Spent-In-The-Build-For $0 = $TTI_HOURS hours, $TTI_MINS minutes, $TTI_SECS seconds"
exit

24
build/buildEnvironment.sh Executable file
View file

@ -0,0 +1,24 @@
#!/bin/bash
# Version
export AWIPSII_VERSION="20.3.2"
export AWIPSII_RELEASE="1"
# Author
export AWIPSII_BUILD_VENDOR="UCAR"
export AWIPSII_BUILD_SITE="Unidata"
export AWIPSII_AUTHOR="Tiffany Meyer <tiffanym@ucar.edu>"
# Directories
export UFRAME_ECLIPSE=/awips2/eclipse
export JAVA_HOME=/awips2/java
export ANT_HOME=/awips2/ant
export REPO=/awips2/repo
export JENKINS_HOME=/awips2/jenkins
export JENKINS_WORKSPACE=${REPO}/awips2-builds
export BUILD_DIR=${JENKINS_HOME}/buildspace/
export AWIPSII_STATIC_FILES=${REPO}/awips2-static
# More env vars
export BUILD_WORKSPACE=${BUILD_DIR}/workspace
export BASELINE=${JENKINS_WORKSPACE}
export AWIPSII_TOP_DIR=${BUILD_WORKSPACE}/tmp/rpms_built_dir
export WORKSPACE=${BUILD_WORKSPACE}/AWIPS2-UPC_build/baseline
export AWIPSII_BUILD_ROOT=${BUILD_WORKSPACE}/tmp/${USER}/awips-component
export REPO_DEST=${BUILD_WORKSPACE}/tmp/${USER}/repo

87
build/build_rpms.sh Executable file
View file

@ -0,0 +1,87 @@
#!/bin/sh -xe
#
# Build Unidata AWIPS RPMs from source
# author: Michael James
# maintainer: <tiffanym@ucar.edu>
#
#
# Require el6 or el7 be specified
# RPM name is optional (see below)
#
os_version=$1
rpmname=$2
if [ -z "$os_version" ]; then
echo "supply os_version (el7)"
exit
fi
#
# Set up AWIPS environment
#
. /awips2/repo/awips2-builds/build/buildEnvironment.sh
buildsh=$REPO/awips2-builds/build/build.sh
pushd $REPO
#
# If local source directories, exist, mount them to the
# container, otherwise clone the repo from github
#
if [ ! -d awips2-core-foss ]; then git clone https://github.com/Unidata/awips2-core-foss.git --branch unidata_${AWIPSII_VERSION} --single-branch ;fi
if [ ! -d awips2-core ]; then git clone https://github.com/Unidata/awips2-core.git --branch unidata_${AWIPSII_VERSION} --single-branch ;fi
if [ ! -d awips2-foss ]; then git clone https://github.com/Unidata/awips2-foss.git --branch unidata_${AWIPSII_VERSION} --single-branch ;fi
if [ ! -d awips2-goesr ]; then git clone https://github.com/Unidata/awips2-goesr.git --branch unidata_${AWIPSII_VERSION} --single-branch ;fi
if [ ! -d awips2-ncep ]; then git clone https://github.com/Unidata/awips2-ncep.git --branch unidata_${AWIPSII_VERSION} --single-branch ;fi
if [ ! -d awips2-nws ]; then git clone https://github.com/Unidata/awips2-nws.git --branch unidata_${AWIPSII_VERSION} --single-branch ;fi
#if [ ! -d awips2-unidata ]; then git clone https://github.com/Unidata/awips2-unidata.git --branch unidata_${AWIPSII_VERSION} --single-branch ;fi
#
# AWIPS Static files are too large to host on github
#
if [ ! -d awips2-static && ! $rpmname = "buildCAVE" ]; then
mkdir awips2-static
cd awips2-static
wget https://www.unidata.ucar.edu/downloads/awips2/static.tar
tar -xvf static.tar
rm -rf static.tar
fi
#
# If RPM name is given
#
if [ ! -z "$rpmname" ]; then
frst="$(echo $rpmname | head -c 1)"
if [[ "$frst" = "-" ]]; then
# If first character is a dash, then a build group alias was given
su - awips -c "/bin/bash $buildsh $rpmname"
else
su - awips -c "/bin/bash $buildsh -b $rpmname"
fi
else
# If RPM name is not given build all groups in this order
# yum localinstall /awips2/repo/awips2-builds/dist/18.2.1-ade/x86_64/awips2-hdf5* -y
# yum localinstall /awips2/repo/awips2-builds/dist/18.2.1-ade/x86_64/awips2-netcdf* -y
su - awips -c "/bin/bash $buildsh -ade"
su - awips -c "/bin/bash $buildsh -python"
su - awips -c "/bin/bash $buildsh -qpid"
su - awips -c "/bin/bash $buildsh -server"
su - awips -c "/bin/bash $buildsh -database"
su - awips -c "/bin/bash $buildsh -edex"
su - awips -c "/bin/bash $buildsh -httpd"
su - awips -c "/bin/bash $buildsh -cave"
fi
# Move RPMs to awips2-builds/dist
if [ "$(ls -A ${JENKINS_HOME}/build/rpms/awips2_latest/x86_64/)" ]; then
mkdir -p /awips2/repo/awips2-builds/dist/${os_version}-dev/x86_64/
mv ${JENKINS_HOME}/build/rpms/awips2_latest/x86_64/* /awips2/repo/awips2-builds/dist/${os_version}-dev/x86_64/
fi
if [ "$(ls -A ${JENKINS_HOME}/build/rpms/awips2_latest/noarch/)" ]; then
mkdir -p /awips2/repo/awips2-builds/dist/${os_version}-dev/noarch/
mv ${JENKINS_HOME}/build/rpms/awips2_latest/noarch/* /awips2/repo/awips2-builds/dist/${os_version}-dev/noarch/
fi

75
build/cibuild.sh Executable file
View file

@ -0,0 +1,75 @@
#!/bin/bash -v
set -xe
# Determine where we are
path_to_script=`readlink -f $0`
dir=$(dirname $path_to_script)
source ${dir}/buildEnvironment.sh
export _script_dir=${dir}
echo "Running build.sh from ${_script_dir}"
echo " JENKINS_WORKSPACE = ${JENKINS_WORKSPACE}"
cd ${dir}
START_TIME=`date "+%s"`
timestamp=`date +%Y_%m_%d_%H:%M:%S`
# Cleanup before building CAVE rpms
if [[ ${2} = "buildCAVE" ]]; then
rm -rf ${JENKINS_HOME}/buildspace/workspace/AWIPS2-UPC_build/baseline/
rm -rf ${JENKINS_HOME}/buildspace/workspace/tmp/${USER}/
fi
echo "BUILD_DIR = $BUILD_DIR"
echo "BUILD_WORKSPACE = $BUILD_WORKSPACE"
echo "BASELINE = $BASELINE"
echo "WORKSPACE = $WORKSPACE"
echo "AWIPSII_VERSION = $AWIPSII_VERSION"
echo "AWIPSII_RELEASE = $AWIPSII_RELEASE"
echo "AWIPSII_TOP_DIR = $AWIPSII_TOP_DIR"
echo "UFRAME_ECLIPSE = $UFRAME_ECLIPSE"
echo "AWIPSII_STATIC_FILES = $AWIPSII_STATIC_FILES"
echo "AWIPSII_BUILD_ROOT = $AWIPSII_BUILD_ROOT"
# Prepare the rpm build directory structure
mkdir -p ${AWIPSII_TOP_DIR}/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
pushd . > /dev/null 2>&1
cd ${BASELINE}
mkdir -p ${WORKSPACE}
RSYNC_DIRS=`cat $dir/rsync.dirs`
rsync -ruql --delete --exclude-from=${dir}/excludes ${RSYNC_DIRS} ${WORKSPACE}
popd > /dev/null 2>&1
# execute the build for the appropriate architecture
_rpms_build_directory=${WORKSPACE}/rpms/build
_architecture=`uname -i`
_build_sh_directory=${_rpms_build_directory}/${_architecture}
pushd . > /dev/null 2>&1
cd ${_build_sh_directory}
cp -v ${dir}/buildEnvironment.sh .
/bin/bash ${_build_sh_directory}/build.sh ${1} ${2}
popd > /dev/null 2>&1
export rpm_end_dir="${AWIPSII_VERSION}-${AWIPSII_RELEASE}"
if [ "$(ls -A ${AWIPSII_TOP_DIR}/RPMS/x86_64/)" ]; then
mv ${AWIPSII_TOP_DIR}/RPMS/x86_64/* ${JENKINS_HOME}/build/rpms/awips2_latest/x86_64/
fi
if [ "$(ls -A ${AWIPSII_TOP_DIR}/RPMS/noarch/)" ]; then
mv ${AWIPSII_TOP_DIR}/RPMS/noarch/* ${JENKINS_HOME}/build/rpms/awips2_latest/noarch/
fi
END_TIME=`date "+%s"`
TIME_SPENT=$((END_TIME - START_TIME))
TTI_HOURS=$((TIME_SPENT/3600))
TTI_SECS=$((TIME_SPENT %3600)) #Remaining seconds
TTI_MINS=$((TTI_SECS/60))
TTI_SECS=$((TTI_SECS%60))
echo "Total-time-Spent-In-The-Build-For $0 = $TTI_HOURS hours, $TTI_MINS minutes, $TTI_SECS seconds"
exit

5
build/excludes Normal file
View file

@ -0,0 +1,5 @@
.git
.metadata
.svn
eclipse-rcp-mars-1-linux-gtk-x86_64.tar.gz
java.tar

15
build/repos Normal file
View file

@ -0,0 +1,15 @@
awips2-cimss
awips2-core-foss
awips2-core
awips2-data-delivery
awips2-drawing
awips2-foss
awips2-goesr
awips2-gsd
awips2-nativelib
awips2-ncep
awips2-nws
awips2-ogc
awips2-rpm
awips2-static
python-awips

33
build/rsync.cave Normal file
View file

@ -0,0 +1,33 @@
edexOsgi/* cave/* localization/*
javaUtilities/* rpms pythonPackages
*.pdf
../awips2-nativelib/*
../awips2-cimss/common/*
../awips2-cimss/edex/*
../awips2-cimss/features/*
../awips2-cimss/viz/*
../awips2-core/common/*
../awips2-core/edex/*
../awips2-core/features/*
../awips2-core/viz/*
../awips2-core-foss/lib/*
../awips2-foss/lib/*
../awips2-ncep/common/*
../awips2-ncep/viz/*
../awips2-ncep/features/*
../awips2-ncep/edex/*
../awips2-goesr/edexOsgi/*
../awips2-goesr/cave/*
../awips2-unidata/*
../python-awips
../awips2-data-delivery/common/*
../awips2-data-delivery/edex/*
../awips2-data-delivery/features/*
../awips2-data-delivery/viz/*
../awips2-drawing/viz/*
../awips2-drawing/features/*
../awips2-gsd/viz/*
../awips2-gsd/features/*
../awips2-ogc/foss/*
../awips2-ogc/edex/*
../awips2-ogc/features/*

41
build/rsync.dirs Normal file
View file

@ -0,0 +1,41 @@
edexOsgi/* cave/* localization
javaUtilities/* rpms pythonPackages
deploy.edex
deploy.edex.awips2
deploy.ignite.awips2
../awips2-nativelib/*
../awips2-cimss/edex/*
../awips2-cimss/features/*
../awips2-cimss/viz/*
../awips2-cimss/common/*
../awips2-core/common/*
../awips2-core/edex/*
../awips2-core/features/*
../awips2-core/ignite/*
../awips2-core/viz/*
../awips2-core-foss/lib/*
../awips2-foss/lib/*
../awips2-rpm/foss
../awips2-rpm/installers
../awips2-ncep/common/*
../awips2-ncep/viz/*
../awips2-ncep/features/*
../awips2-ncep/edex/*
../awips2-nws/edex/*
../awips2-nws/common/*
../awips2-nws/features/*
../awips2-nws/viz/*
../awips2-goesr/edexOsgi/*
../awips2-goesr/cave/*
../python-awips
../awips2-data-delivery/common/*
../awips2-data-delivery/edex/*
../awips2-data-delivery/features/*
../awips2-data-delivery/viz/*
../awips2-drawing/viz/*
../awips2-drawing/features/*
../awips2-gsd/viz/*
../awips2-gsd/features/*
../awips2-ogc/foss/*
../awips2-ogc/edex/*
../awips2-ogc/features/*

84
build/setup.sh Executable file
View file

@ -0,0 +1,84 @@
#!/bin/sh -xe
#
# Unidata AWIPS Build Setup Script
# author: Michael James
# maintainer: <tiffanym@ucar.edu>
#
#
# Require el6 or el7 be specified
#
if [ -z "$1" ]; then
echo "supply type (el7)"
exit
fi
os_version=$1
rpmname=$2
dirs=" -v `pwd`:/awips2/repo/awips2-builds:rw "
. /awips2/repo/awips2-builds/build/buildEnvironment.sh
version=${AWIPSII_VERSION}-${AWIPSII_RELEASE}
java -jar /awips2/repo/awips-unidata-builds/all/awips_splashscreen_updater.jar "$version"
splashLoc=$(find /awips2/repo/awips2/cave -name "splash.bmp")
mv splash.bmp $splashLoc
echo "replacing splash.bmp"
# If local source directories, exist, mount them to the container
if [ $rpmname = "buildCAVE" ]; then
for dn in `cat build/repos| grep -v static| grep -v nativelib |grep -v awips2-rpm`
do
echo $dn
if [ -d /awips2/repo/$dn ]; then
dirs+=" -v /awips2/repo/${dn}:/awips2/repo/${dn} "
fi
done
else
for dn in `cat build/repos`
do
echo $dn
if [ -d /awips2/repo/$dn ]; then
dirs+=" -v /awips2/repo/${dn}:/awips2/repo/${dn} "
fi
done
fi
#
# Run Docker AWIPS ADE Image
#
imgname=tiffanym13/awips-ade
imgvers=20.3.2
sudo docker run --entrypoint=/bin/bash --privileged -d -ti -e "container=docker" $dirs $imgname-$imgvers-1:$imgvers-$os_version
dockerID=$(sudo docker ps | grep awips-ade | awk '{print $1}' | head -1 )
sudo docker logs $dockerID
sudo docker exec -ti $dockerID /bin/bash -xec "/awips2/repo/awips2-builds/build/build_rpms.sh $os_version $rpmname";
#sudo docker stop $dockerID
#sudo docker rm -v $dockerID
#
# Update/Recreate YUM Repository
#
date=$(date +%Y%m%d)
if [[ $(whoami) == "awips" ]]; then # local build
#copy awips_install-YYYYMMDD.sh to robin
#TM#cp awips_install.sh awips_install-${date}.sh
#TM#echo "rsync -aP awips_install-${date}.sh tiffanym@fserv:/share/awips2/${AWIPSII_VERSION}/linux/"
#TM#rsync -aP awips_install-${date}.sh tiffanym@fserv:/share/awips2/${AWIPSII_VERSION}/linux/
#For testing, copy el7-test.repo to robin with updated path
#sed -i 's/el7-dev-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/el7-dev-${date}/' dist/el7-test.repo
sudo mv dist/${os_version}-dev dist/${os_version}-dev-${date}
sudo su - -c "createrepo -g /awips2/repo/awips2/dist/comps.xml /awips2/repo/awips2/dist/${os_version}-dev-${date}/"
sudo chown -R awips:fxalpha dist/${os_version}-dev-${date}
# rsync -aP dist/${os_version}-
#TM#echo "rsync -aP dist/${os_version}-dev-${date} tiffanym@fserv:/share/awips2/${AWIPSII_VERSION}/linux/"
#TM#rsync -aP dist/${os_version}-dev-${date} tiffanym@fserv:/share/awips2/${AWIPSII_VERSION}/linux/
#rsync -aP dist/${os_version}-dev-${date} awips@hardy:~/
#repomanage -k1 --old dist/${os_version}-dev | xargs rm -f
#
# Push to web server
#
#rsync --archive --delete dist/${os_version}-dev tomcat@www:/web/content/repos/yum/
fi

View file

@ -65,7 +65,7 @@ import com.raytheon.viz.grid.GridExtensionManager;
* Aug 15, 2017 6332 bsteffen Move radar specific logic to extension * Aug 15, 2017 6332 bsteffen Move radar specific logic to extension
* Aug 23, 2017 6125 bsteffen Split common updating code to GridInventoryUpdater. * Aug 23, 2017 6125 bsteffen Split common updating code to GridInventoryUpdater.
* Nov 30, 2018 7673 bsteffen Prevent full queue from blocking. * Nov 30, 2018 7673 bsteffen Prevent full queue from blocking.
* * Apr 29, 2022 tiffanym@ucar.edu Remove the umlauts from schrodingers variables
* </pre> * </pre>
* *
* @author bsteffen * @author bsteffen
@ -203,31 +203,31 @@ public class GridUpdater extends GridInventoryUpdater {
* real state of the record here and it is left to the receiver of * real state of the record here and it is left to the receiver of
* updates to figure it out. * updates to figure it out.
*/ */
GridRecord schrödingersRecord = new GridRecord(); GridRecord schrodingersRecord = new GridRecord();
DataTime time = record.getDataTime(); DataTime time = record.getDataTime();
schrödingersRecord.setDataTime(new DataTime(time.getRefTime(), schrodingersRecord.setDataTime(new DataTime(time.getRefTime(),
time.getFcstTime() - value.timeOffset)); time.getFcstTime() - value.timeOffset));
schrödingersRecord.setDatasetId(value.node.getModelName()); schrodingersRecord.setDatasetId(value.node.getModelName());
Parameter param = new Parameter( Parameter param = new Parameter(
value.node.getDesc().getAbbreviation(), value.node.getDesc().getAbbreviation(),
value.node.getDesc().getName(), value.node.getDesc().getName(),
value.node.getDesc().getUnit()); value.node.getDesc().getUnit());
schrödingersRecord.setParameter(param); schrodingersRecord.setParameter(param);
schrödingersRecord.setLevel(value.node.getLevel()); schrodingersRecord.setLevel(value.node.getLevel());
if (value.node instanceof GatherLevelNode) { if (value.node instanceof GatherLevelNode) {
schrödingersRecord.setEnsembleId(null); schrodingersRecord.setEnsembleId(null);
} else { } else {
schrödingersRecord.setEnsembleId(record.getEnsembleId()); schrodingersRecord.setEnsembleId(record.getEnsembleId());
} }
schrödingersRecord.setSecondaryId(record.getSecondaryId()); schrodingersRecord.setSecondaryId(record.getSecondaryId());
schrödingersRecord.setLocation(record.getLocation()); schrodingersRecord.setLocation(record.getLocation());
try { try {
uriUpdateQueue.put(schrödingersRecord.getDataURI()); uriUpdateQueue.put(schrodingersRecord.getDataURI());
} catch (InterruptedException e) { } catch (InterruptedException e) {
statusHandler.handle(Priority.PROBLEM, statusHandler.handle(Priority.PROBLEM,
"Failed to send derived update for " "Failed to send derived update for "
+ schrödingersRecord.getDataURI(), + schrodingersRecord.getDataURI(),
e); e);
} }
} }

View file

@ -2,7 +2,7 @@
function usage() function usage()
{ {
echo "Usage: $0 OPTION [-nobinlightning]" echo "Usage: $0 OPTION"
echo " -buildRPM preform a build of an rpm." echo " -buildRPM preform a build of an rpm."
echo " -WA perform a build of all work assignments." echo " -WA perform a build of all work assignments."
echo " -rh6 perform a full build of all the rpms." echo " -rh6 perform a full build of all the rpms."
@ -75,12 +75,6 @@ if [ $RTN -ne 0 ]; then
exit 1 exit 1
fi fi
export LIGHTNING=true
# Determine if the optional '-nobinlightning' argument has been specified.
if [ "${2}" = "-nobinlightning" ]; then
LIGHTNING=false
fi
if [ "${1}" = "-buildRPM" -a -n "${2}" ]; then if [ "${1}" = "-buildRPM" -a -n "${2}" ]; then
echo "Building RPM: ${2}" echo "Building RPM: ${2}"
# also allow buildCAVE, buildEDEX, buildRPM args # also allow buildCAVE, buildEDEX, buildRPM args
@ -96,114 +90,139 @@ if [ "${1}" = "-buildRPM" -a -n "${2}" ]; then
exit 0 exit 0
fi fi
if [ "${1}" = "-WA" ]; then #BUILD GROUPS
WA_rpm_build function build_ade(){
exit 0 buildRPM "awips2"
fi buildRPM "awips2-ant"
buildRPM "awips2-eclipse"
if [ "${1}" = "-rh6" ]; then buildRPM "awips2-hdf5"
buildCAVE
buildRPM "awips2-alertviz"
buildEDEX
buildRPM "awips2-common-base"
buildRPM "awips2-java" buildRPM "awips2-java"
buildRPM "awips2-maven"
buildRPM "awips2-netcdf"
buildRPM "awips2-postgresql"
buildRPM "awips2-groovy" #not sure about this one
buildRPM "awips2-yajsw"
buildRPM "awips2-python" buildRPM "awips2-python"
buildRPM "awips2-python-backports-lru_cache"
buildRPM "awips2-python-cftime"
buildRPM "awips2-python-cheroot" buildRPM "awips2-python-cheroot"
buildRPM "awips2-python-contextlib2" buildRPM "awips2-python-contextlib2"
buildRPM "awips2-python-jaraco.functools" buildRPM "awips2-python-cycler"
buildRPM "awips2-python-more-itertools" buildRPM "awips2-python-cython"
buildRPM "awips2-python-portend" buildRPM "awips2-python-dateutil"
buildRPM "awips2-python-setuptools_scm_git_archive" buildRPM "awips2-python-jep" # do we need this?
buildRPM "awips2-python-tempora"
buildRPM "awips2-python-zc.lockfile"
buildRPM "awips2-python-cherrypy"
buildRPM "awips2-python-thrift"
buildRPM "awips2-python-werkzeug"
buildRPM "awips2-python-numpy"
buildRPM "awips2-python-h5py"
buildRPM "awips2-python-matplotlib"
buildRPM "awips2-python-scipy"
buildRPM "awips2-python-funcsigs" buildRPM "awips2-python-funcsigs"
buildRPM "awips2-python-h5py"
buildRPM "awips2-python-jaraco.functools"
buildRPM "awips2-python-kiwisolver"
buildRPM "awips2-python-matplotlib"
buildRPM "awips2-python-mock" buildRPM "awips2-python-mock"
buildRPM "awips2-python-more-itertools"
buildRPM "awips2-python-numexpr" buildRPM "awips2-python-numexpr"
buildRPM "awips2-python-numpy"
buildRPM "awips2-python-pbr" buildRPM "awips2-python-pbr"
buildRPM "awips2-python-pkgconfig"
buildRPM "awips2-python-portend"
#missing python-cairo and python-pygobject, but these might be in a diff package
buildRPM "awips2-python-pyparsing"
buildRPM "awips2-python-pytz"
buildRPM "awips2-python-setuptools"
buildRPM "awips2-python-setuptools_scm"
buildRPM "awips2-python-setuptools_scm_git_archive"
buildRPM "awips2-python-shapely"
buildRPM "awips2-python-six"
buildRPM "awips2-python-tempora"
buildRPM "awips2-python-thrift"
buildRPM "awips2-python-zc.lockfile"
buildRPM "awips2-qpid-proton"
#PREV awips2-qpid-lib
}
function build_python(){
buildRPM "awips2-python-cherrypy"
buildRPM "awips2-python-dynamicserialize"
buildRPM "awips2-python-netcdf4"
buildRPM "awips2-python-pyshp"
buildRPM "awips2-python-scipy"
buildRPM "awips2-python-stomp.py"
buildRPM "awips2-python-tables" buildRPM "awips2-python-tables"
buildRPM "awips2-python-tpg" buildRPM "awips2-python-tpg"
buildRPM "awips2-python-ufpy" buildRPM "awips2-python-ufpy"
buildRPM "awips2-python-dynamicserialize" buildRPM "awips2-python-werkzeug"
buildRPM "awips2-python-shapely" }
buildRPM "awips2-python-jep" function build_qpid(){
buildRPM "awips2-python-dateutil"
buildRPM "awips2-python-pytz"
buildRPM "awips2-python-six"
buildRPM "awips2-python-pyparsing"
buildRPM "awips2-python-setuptools"
buildRPM "awips2-python-setuptools_scm"
buildRPM "awips2-python-stomp.py"
buildRPM "awips2-python-pkgconfig"
buildRPM "awips2-python-pyshp"
buildRPM "awips2-python-cython"
buildRPM "awips2-python-cycler"
buildRPM "awips2-python-kiwisolver"
buildRPM "awips2-python-backports-lru_cache"
buildRPM "awips2-python-netcdf4"
buildRPM "awips2-python-cftime"
buildRPM "awips2-ant"
buildRPM "awips2-maven"
buildRPM "awips2-hdf5"
buildRPM "awips2-netcdf"
buildRPM "awips2-eclipse"
buildRPM "awips2-postgresql"
buildRPM "awips2-httpd-pypies"
buildRPM "awips2-qpid-proton" buildRPM "awips2-qpid-proton"
buildRPM "awips2-qpid-proton/i386" #buildRPM "awips2-qpid-proton/i386"
buildRPM "awips2-qpid-proton-python" buildRPM "awips2-qpid-proton-python"
buildRPM "awips2-qpid-broker-j" buildRPM "awips2-qpid-broker-j"
buildRPM "awips2-database-server-configuration" }
buildRPM "awips2-database-standalone-configuration" function build_server(){
buildRPM "awips2-database" buildRPM "awips2"
buildRPM "awips2-maps-database" # NEED TO ADD:
buildRPM "awips2-ncep-database" # buildRPM "awips2-ldm"
# buildRPM "awips2-tools
buildRPM "awips2-gfesuite"
build_pypies
buildLocalization
buildRPM "awips2-alertviz"
buildRPM "awips2-aviation-shared" buildRPM "awips2-aviation-shared"
buildRPM "awips2-cli" buildRPM "awips2-cli"
buildRPM "awips2-common-base"
buildRPM "awips2-devel"
buildRPM "awips2-edex-environment" buildRPM "awips2-edex-environment"
buildRPM "awips2-ffmpeg"
buildRPM "awips2-ignite"
buildRPM "awips2-localapps-environment"
buildRPM "awips2-scripts"
buildRPM "awips2-version"
buildRPM "awips2-watchdog"
}
function build_database(){
buildRPM "awips2-database"
buildRPM "awips2-database-server-configuration"
buildRPM "awips2-database-standalone-configuration"
buildRPM "awips2-postgresql"
buildRPM "awips2-maps-database"
buildRPM "awips2-ncep-database"
buildRPM "awips2-edex-shapefiles" buildRPM "awips2-edex-shapefiles"
buildRPM "awips2-data.gfe" buildRPM "awips2-data.gfe"
buildRPM "awips2-gfesuite"
buildRPM "awips2-groovy"
buildRPM "awips2-localapps-environment"
buildRPM "awips2-rehost-support-postgresql"
buildRPM "awips2-scripts"
buildLocalizationRPMs
if [ $? -ne 0 ]; then
exit 1
fi
buildRPM "awips2-ignite"
buildRPM "awips2-pypies"
buildRPM "awips2-data.hdf5-topo" buildRPM "awips2-data.hdf5-topo"
buildRPM "awips2" buildRPM "awips2-rehost-support-postgresql"
buildRPM "awips2-devel" }
buildRPM "awips2-version" function build_pypies(){
buildRPM "awips2-yajsw" buildRPM "awips2-pypies"
buildRPM "awips2-watchdog" buildRPM "awips2-httpd-pypies"
buildRPM "awips2-ffmpeg" }
if [ "${1}" = "-rh6" ]; then
exit 0 exit 0
fi fi
if [ "${1}" = "-dev" ]; then if [ "${1}" = "-ade" ]; then build_ade && exit 0; fi
if [ "${1}" = "-python" ]; then build_python && exit 0; fi
if [ "${1}" = "-qpid" ]; then build_qpid && exit 0; fi
if [ "${1}" = "-server" ]; then build_server && exit 0; fi
if [ "${1}" = "-pypies" ]; then build_pypies && exit 0; fi
if [ "${1}" = "-localization" ]; then buildLocalizationRPMS && exit 0; fi
if [ "${1}" = "-database" ]; then build_database && exit 0; fi
if [ "${1}" = "-edex" ]; then buildEDEX && exit 0; fi
if [ "${1}" = "-cave" ]; then buildCAVE && exit 0; fi
if [ "${1}" = "-WA" ]; then WA_rpm_build && exit 0; fi
if [ ! $# -eq 2 ]; then if [ "${1}" = "-all" ]; then
usage build_ade
exit 1; build_python
fi build_qpid
build_server
echo -e "\n*** Executing $2 ***" build_database
$2 buildEDEX
if [ $? -ne 0 ]; then buildCAVE
exit 1 exit 0
fi
echo -e "*** $2 Complete ***\n"
exit 0
fi fi
usage usage