From 488634ced20ee178b2d2217b68b57da19b06c40f Mon Sep 17 00:00:00 2001 From: Arno Schoenmakers <schoenmakers@astron.nl> Date: Thu, 10 May 2012 20:06:24 +0000 Subject: [PATCH] Task #1771: Add install of OTDB component files (in etc/otdb) and SQL files (in sbin/sql) to OTDB build; update of script fresh_database; reorganize Deployment by adding StaticMetaData, PVSS_Datapoints, OTDB_Comps as separate packages not as part of Deployment (only builds SAS database update executables now) --- .gitattributes | 1 + CMake/LofarPackageList.cmake | 18 +++-- MAC/CMakeLists.txt | 5 ++ MAC/Deployment/data/CMakeLists.txt | 5 +- MAC/Deployment/data/OTDB/CMakeLists.txt | 18 +++++ MAC/Deployment/data/PVSS/CMakeLists.txt | 2 + .../data/StaticMetaData/CMakeLists.txt | 3 +- SAS/CMakeLists.txt | 2 + SAS/OTDB/sql/CMakeLists.txt | 13 ++++ SAS/OTDB/sql/fresh_database | 65 +++++++++++++++++++ SubSystems/CCU_MAC/CMakeLists.txt | 2 +- SubSystems/CN_MAC/CMakeLists.txt | 1 - SubSystems/LCU_MAC/CMakeLists.txt | 5 +- SubSystems/MCU_MAC/CMakeLists.txt | 3 +- SubSystems/Offline/CMakeLists.txt | 2 +- SubSystems/PVSS_DB/CMakeLists.txt | 2 +- SubSystems/SAS_OTDB/CMakeLists.txt | 2 +- 17 files changed, 129 insertions(+), 20 deletions(-) create mode 100644 MAC/Deployment/data/OTDB/CMakeLists.txt create mode 100644 SAS/OTDB/sql/CMakeLists.txt create mode 100755 SAS/OTDB/sql/fresh_database diff --git a/.gitattributes b/.gitattributes index dc85f54c8df..d098593bc34 100644 --- a/.gitattributes +++ b/.gitattributes @@ -3522,6 +3522,7 @@ SAS/OTB/scripts/src/stopOTBServer -text SAS/OTDB/include/OTDB/DefaultTemplate.h -text SAS/OTDB/sql/assignProcessType_func.sql -text SAS/OTDB/sql/campaignAPI.sql -text +SAS/OTDB/sql/fresh_database -text SAS/OTDB/sql/fresh_sas001_database.sh -text SAS/OTDB/sql/getAllTaskID_func.sql -text SAS/OTDB/sql/getBrokenHardware_func.sql -text diff --git a/CMake/LofarPackageList.cmake b/CMake/LofarPackageList.cmake index 688324aa01c..7396352dffb 100644 --- a/CMake/LofarPackageList.cmake +++ b/CMake/LofarPackageList.cmake @@ -1,7 +1,7 @@ # - Create for each LOFAR package a variable containing the absolute path to # its source directory. # -# Generated by gen_LofarPackageList_cmake.sh at Thu Apr 26 08:44:53 UTC 2012 +# Generated by gen_LofarPackageList_cmake.sh at Thu May 10 19:57:35 UTC 2012 # # ---- DO NOT EDIT ---- # @@ -14,6 +14,12 @@ # if(NOT DEFINED LOFAR_PACKAGE_LIST_INCLUDED) set(LOFAR_PACKAGE_LIST_INCLUDED TRUE) + set(BBSKernel_SOURCE_DIR ${CMAKE_SOURCE_DIR}/CEP/Calibration/BBSKernel) + set(BBSControl_SOURCE_DIR ${CMAKE_SOURCE_DIR}/CEP/Calibration/BBSControl) + set(ExpIon_SOURCE_DIR ${CMAKE_SOURCE_DIR}/CEP/Calibration/ExpIon) + set(pystationresponse_SOURCE_DIR ${CMAKE_SOURCE_DIR}/CEP/Calibration/pystationresponse) + set(BBSTools_SOURCE_DIR ${CMAKE_SOURCE_DIR}/CEP/Calibration/BBSTools) + set(ElementResponse_SOURCE_DIR ${CMAKE_SOURCE_DIR}/CEP/Calibration/ElementResponse) set(Calibration_SOURCE_DIR ${CMAKE_SOURCE_DIR}/CEP/Calibration) set(DP3_SOURCE_DIR ${CMAKE_SOURCE_DIR}/CEP/DP3) set(GSM_SOURCE_DIR ${CMAKE_SOURCE_DIR}/CEP/GSM) @@ -24,12 +30,6 @@ if(NOT DEFINED LOFAR_PACKAGE_LIST_INCLUDED) set(Pipeline_SOURCE_DIR ${CMAKE_SOURCE_DIR}/CEP/Pipeline) set(PyBDSM_SOURCE_DIR ${CMAKE_SOURCE_DIR}/CEP/PyBDSM) set(pyparmdb_SOURCE_DIR ${CMAKE_SOURCE_DIR}/CEP/pyparmdb) - set(BBSKernel_SOURCE_DIR ${CMAKE_SOURCE_DIR}/CEP/Calibration/BBSKernel) - set(BBSControl_SOURCE_DIR ${CMAKE_SOURCE_DIR}/CEP/Calibration/BBSControl) - set(ExpIon_SOURCE_DIR ${CMAKE_SOURCE_DIR}/CEP/Calibration/ExpIon) - set(pystationresponse_SOURCE_DIR ${CMAKE_SOURCE_DIR}/CEP/Calibration/pystationresponse) - set(BBSTools_SOURCE_DIR ${CMAKE_SOURCE_DIR}/CEP/Calibration/BBSTools) - set(ElementResponse_SOURCE_DIR ${CMAKE_SOURCE_DIR}/CEP/Calibration/ElementResponse) set(DPPP_SOURCE_DIR ${CMAKE_SOURCE_DIR}/CEP/DP3/DPPP) set(AOFlagger_SOURCE_DIR ${CMAKE_SOURCE_DIR}/CEP/DP3/AOFlagger) set(SPW_Combine_SOURCE_DIR ${CMAKE_SOURCE_DIR}/CEP/DP3/SPWCombine) @@ -104,6 +104,9 @@ if(NOT DEFINED LOFAR_PACKAGE_LIST_INCLUDED) set(Deployment_SOURCE_DIR ${CMAKE_SOURCE_DIR}/MAC/Deployment) set(Navigator2_SOURCE_DIR ${CMAKE_SOURCE_DIR}/MAC/Navigator2) set(MACTools_SOURCE_DIR ${CMAKE_SOURCE_DIR}/MAC/Tools) + set(PVSS_Datapoints_SOURCE_DIR ${CMAKE_SOURCE_DIR}/MAC/Deployment/data/PVSS) + set(OTDB_Comps_SOURCE_DIR ${CMAKE_SOURCE_DIR}/MAC/Deployment/data/OTDB) + set(StaticMetaData_SOURCE_DIR ${CMAKE_SOURCE_DIR}/MAC/Deployment/data/StaticMetaData) set(GCFTM_SOURCE_DIR ${CMAKE_SOURCE_DIR}/MAC/GCF/TM) set(GCFPVSS_SOURCE_DIR ${CMAKE_SOURCE_DIR}/MAC/GCF/PVSS) set(GCFRTDB_SOURCE_DIR ${CMAKE_SOURCE_DIR}/MAC/GCF/RTDB) @@ -117,6 +120,7 @@ if(NOT DEFINED LOFAR_PACKAGE_LIST_INCLUDED) set(OTDB_SOURCE_DIR ${CMAKE_SOURCE_DIR}/SAS/OTDB) set(OTB_SOURCE_DIR ${CMAKE_SOURCE_DIR}/SAS/OTB) set(Beaminfo_SOURCE_DIR ${CMAKE_SOURCE_DIR}/SAS/Beaminfo) + set(OTDB_SQL_SOURCE_DIR ${CMAKE_SOURCE_DIR}/SAS/OTDB/sql) set(jOTDB3_SOURCE_DIR ${CMAKE_SOURCE_DIR}/SAS/OTB/jOTDB3) set(OTB-Java_SOURCE_DIR ${CMAKE_SOURCE_DIR}/SAS/OTB/OTB) set(CCU_MAC_SOURCE_DIR ${CMAKE_SOURCE_DIR}/SubSystems/CCU_MAC) diff --git a/MAC/CMakeLists.txt b/MAC/CMakeLists.txt index 7252b860c39..6c1ba3b75eb 100644 --- a/MAC/CMakeLists.txt +++ b/MAC/CMakeLists.txt @@ -6,3 +6,8 @@ lofar_add_package(APL) # Application subdirectory lofar_add_package(Deployment) # Deployment related functions lofar_add_package(Navigator2) lofar_add_package(MACTools Tools) +lofar_add_package(PVSS_Datapoints Deployment/data/PVSS) +lofar_add_package(OTDB_Comps Deployment/data/OTDB) +lofar_add_package(StaticMetaData Deployment/data/StaticMetaData) + + diff --git a/MAC/Deployment/data/CMakeLists.txt b/MAC/Deployment/data/CMakeLists.txt index 8ab8283de44..c5dbe5e57ca 100644 --- a/MAC/Deployment/data/CMakeLists.txt +++ b/MAC/Deployment/data/CMakeLists.txt @@ -1,5 +1,6 @@ # $Id$ + add_subdirectory(bin) -add_subdirectory(StaticMetaData) -add_subdirectory(PVSS) +#add_subdirectory(StaticMetaData) +#add_subdirectory(PVSS) diff --git a/MAC/Deployment/data/OTDB/CMakeLists.txt b/MAC/Deployment/data/OTDB/CMakeLists.txt new file mode 100644 index 00000000000..a695dafe5e7 --- /dev/null +++ b/MAC/Deployment/data/OTDB/CMakeLists.txt @@ -0,0 +1,18 @@ +# $Id$ + +lofar_package(OTDB_COMPS 1.0) + +install(PROGRAMS + create_OTDB_comps + createPICfile + loadComponents + loadPICtree +DESTINATION sbin) + +file(GLOB otdb_comps + *.comp + *.list + *.base) +install(FILES + ${otdb_comps} + DESTINATION etc/otdb) diff --git a/MAC/Deployment/data/PVSS/CMakeLists.txt b/MAC/Deployment/data/PVSS/CMakeLists.txt index 330c34c145e..fad4922d077 100644 --- a/MAC/Deployment/data/PVSS/CMakeLists.txt +++ b/MAC/Deployment/data/PVSS/CMakeLists.txt @@ -1,5 +1,7 @@ # $Id$ +lofar_package(PVSS_Datapoints 1.0) + install(PROGRAMS create_db_files DESTINATION sbin) diff --git a/MAC/Deployment/data/StaticMetaData/CMakeLists.txt b/MAC/Deployment/data/StaticMetaData/CMakeLists.txt index 0144d5827e9..8b8558cb413 100644 --- a/MAC/Deployment/data/StaticMetaData/CMakeLists.txt +++ b/MAC/Deployment/data/StaticMetaData/CMakeLists.txt @@ -1,5 +1,7 @@ # $Id$ +lofar_package(StaticMetaData 1.0) + install(PROGRAMS createFiles DESTINATION sbin) @@ -22,7 +24,6 @@ file(GLOB staticmeta_data iHBADeltas/*.conf AntennaFields/*.conf PPSDelays/*.conf -# CalTables/*.dat TBBConnections.dat) install(FILES ${staticmeta_data} diff --git a/SAS/CMakeLists.txt b/SAS/CMakeLists.txt index 7f828855eb1..83ba7ff26ba 100644 --- a/SAS/CMakeLists.txt +++ b/SAS/CMakeLists.txt @@ -3,3 +3,5 @@ lofar_add_package(OTDB) lofar_add_package(OTB) lofar_add_package(Beaminfo) +lofar_add_package(OTDB_SQL OTDB/sql) + diff --git a/SAS/OTDB/sql/CMakeLists.txt b/SAS/OTDB/sql/CMakeLists.txt new file mode 100644 index 00000000000..42cff8f5fbb --- /dev/null +++ b/SAS/OTDB/sql/CMakeLists.txt @@ -0,0 +1,13 @@ +# $Id$ + +lofar_package(OTDB_SQL 1.0) +install(PROGRAMS + fresh_database +DESTINATION sbin) + +file(GLOB otdb_sql_files + *.sql) +install(FILES + ${otdb_sql_files} + DESTINATION sbin/sql) + diff --git a/SAS/OTDB/sql/fresh_database b/SAS/OTDB/sql/fresh_database new file mode 100755 index 00000000000..22ff0cc4c1e --- /dev/null +++ b/SAS/OTDB/sql/fresh_database @@ -0,0 +1,65 @@ +#!/bin/bash +# +# Script to (re)create a OTDB database from scratch, using the sql statements +# +# Usage: fresh_database <DBNAME> +# +# Requires all sql-commands to be present in /opt/lofar/sbin/sql +# If existing, DROPS the current database +# +if [ -z $1 ]; then + echo "Usage: fresh_database <DBNAME>" + exit 0 +fi + +if [ "$1" == "-h" ]; then + echo "Usage: fresh_database <DBNAME>" + exit 0 +fi + +DBNAME=$1 +DBUSER=postgres +DBHOST=localhost +DBPORT=5432 + +# The following commands assume that the user has super user privileges. +# +# Access to PostgreSQL databases is managed via the 'pg_hba.conf' file. +# +# Postgres should be told to listen to external TCP ports. +# Edit /sasdb/data/postgresq.conf +# to have the following stanzas: +# +# Listen_addresses = '*' +# Port = 5432 +# +# Don't forget to restart Postgres after altering these files, +# as follows (Debian): +# +# pg_ctl start -D /sasdb/data -l /sasdb/data/pg_log/logfile +# +# Drop DB & USER. User DBUSER owns DBNAME, so we have to remove the database +# first! +# Note the '|| true' at the end. This ensures that the commands succeed, +# even if the database is not found. + +echo " == Dropping database $DBNAME ==" +echo dropdb --host $DBHOST --port $DBPORT --user postgres --echo $DBNAME || true +dropdb --host $DBHOST --port $DBPORT --user postgres --echo $DBNAME || true +# Create USER, DB, and add the 'plpgsql' language for stored procedures. + +echo " == Creating new database $DBNAME ==" +echo createdb --host $DBHOST --port $DBPORT --user postgres --owner $DBUSER --echo $DBNAME +createdb --host $DBHOST --port $DBPORT --user postgres --owner $DBUSER --echo $DBNAME +echo createlang --host $DBHOST --port $DBPORT --user postgres --dbname $DBNAME --echo "plpgsql" +createlang --host $DBHOST --port $DBPORT --user postgres --dbname $DBNAME --echo "plpgsql" + +echo " == Creating new tables in $DBNAME ==" +if [ -e /opt/lofar/sbin/sql/create_OTDB.sql ]; then + cd /opt/lofar/sbin/sql + echo psql -f create_OTDB.sql --host $DBHOST --port $DBPORT --user $DBUSER $DBNAME 2>&1 | grep ERROR | grep -v "does not exist" + psql -f create_OTDB.sql --host $DBHOST --port $DBPORT --user $DBUSER $DBNAME 2>&1 | grep ERROR | grep -v "does not exist" +else + echo "Cannot find /opt/lofar/sbin/sql/create_OTDB.sql; did you install this?" +fi +echo " == Done ==" diff --git a/SubSystems/CCU_MAC/CMakeLists.txt b/SubSystems/CCU_MAC/CMakeLists.txt index 170a6604eae..76ac86e61b2 100644 --- a/SubSystems/CCU_MAC/CMakeLists.txt +++ b/SubSystems/CCU_MAC/CMakeLists.txt @@ -1,5 +1,5 @@ # $Id$ lofar_package(CCU_MAC - DEPENDS CEPCU CUDaemons CURTDBDaemons Deployment Navigator2) + DEPENDS CEPCU CUDaemons CURTDBDaemons) diff --git a/SubSystems/CN_MAC/CMakeLists.txt b/SubSystems/CN_MAC/CMakeLists.txt index 10fc0f526b4..37b7aeee5e7 100644 --- a/SubSystems/CN_MAC/CMakeLists.txt +++ b/SubSystems/CN_MAC/CMakeLists.txt @@ -2,4 +2,3 @@ lofar_package(CN_MAC DEPENDS StationTest MACTools) - diff --git a/SubSystems/LCU_MAC/CMakeLists.txt b/SubSystems/LCU_MAC/CMakeLists.txt index 99fc48f1e44..7c70ffad437 100644 --- a/SubSystems/LCU_MAC/CMakeLists.txt +++ b/SubSystems/LCU_MAC/CMakeLists.txt @@ -1,6 +1,5 @@ # $Id$ lofar_package(LCU_MAC - DEPENDS StationCU PIC PAC CUDaemons CURTDBDaemons Deployment Navigator2 - AMC Firmware-Tools StationTest MACTools) - + DEPENDS StationCU PIC PAC CUDaemons CURTDBDaemons + AMC Firmware-Tools MACTools StaticMetaData) diff --git a/SubSystems/MCU_MAC/CMakeLists.txt b/SubSystems/MCU_MAC/CMakeLists.txt index aa8f70ceced..34e16991a60 100644 --- a/SubSystems/MCU_MAC/CMakeLists.txt +++ b/SubSystems/MCU_MAC/CMakeLists.txt @@ -1,5 +1,4 @@ # $Id$ lofar_package(MCU_MAC - DEPENDS MainCU CUDaemons CURTDBDaemons Deployment Navigator2) - + DEPENDS MainCU CUDaemons CURTDBDaemons) diff --git a/SubSystems/Offline/CMakeLists.txt b/SubSystems/Offline/CMakeLists.txt index b6c6536d620..ca2a4f1255b 100644 --- a/SubSystems/Offline/CMakeLists.txt +++ b/SubSystems/Offline/CMakeLists.txt @@ -1,4 +1,4 @@ # $Id$ -lofar_package(Offline DEPENDS CEP MSLofar Deployment) +lofar_package(Offline DEPENDS CEP MSLofar StatticMetaData) diff --git a/SubSystems/PVSS_DB/CMakeLists.txt b/SubSystems/PVSS_DB/CMakeLists.txt index 12917846c6d..4bfccc2f5c4 100644 --- a/SubSystems/PVSS_DB/CMakeLists.txt +++ b/SubSystems/PVSS_DB/CMakeLists.txt @@ -1,5 +1,5 @@ # $Id$ lofar_package(PVSS_DB - DEPENDS Deployment Navigator2) + DEPENDS PVSS_Datapoints Navigator2) diff --git a/SubSystems/SAS_OTDB/CMakeLists.txt b/SubSystems/SAS_OTDB/CMakeLists.txt index 5c1c057739e..973edd616a5 100644 --- a/SubSystems/SAS_OTDB/CMakeLists.txt +++ b/SubSystems/SAS_OTDB/CMakeLists.txt @@ -1,4 +1,4 @@ # $Id$ lofar_package(SAS_OTDB - DEPENDS OTB Deployment) + DEPENDS Deployment OTDB_Comps OTDB_SQL) -- GitLab