Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
78253c60f4 | ||
|
|
1e07bf76ba |
No files matched your search
@@ -958,6 +958,48 @@ GROUP6_TARGETS=(
|
|||||||
tDataSampleReceiver
|
tDataSampleReceiver
|
||||||
DateTimeSyncer
|
DateTimeSyncer
|
||||||
ddsview
|
ddsview
|
||||||
|
# ddsview runtime topic-type plugins (39 *TopicTypePlugin.so). Not CMake link deps of
|
||||||
|
# ddsview (loaded at runtime via LtsPluginLoader), so `make ddsview` alone skips them and
|
||||||
|
# ddsview shows empty Data/Function topic lists. Built here alongside ddsview.
|
||||||
|
aesTopicTypePlugin
|
||||||
|
almTopicTypePlugin
|
||||||
|
asmTopicTypePlugin
|
||||||
|
avmTopicTypePlugin
|
||||||
|
bldTopicTypePlugin
|
||||||
|
cesTopicTypePlugin
|
||||||
|
cmoTopicTypePlugin
|
||||||
|
codTopicTypePlugin
|
||||||
|
coreTopicTypePlugin
|
||||||
|
eemTopicTypePlugin
|
||||||
|
escTopicTypePlugin
|
||||||
|
esmTopicTypePlugin
|
||||||
|
evlTopicTypePlugin
|
||||||
|
exmTopicTypePlugin
|
||||||
|
flmTopicTypePlugin
|
||||||
|
fltTopicTypePlugin
|
||||||
|
gimTopicTypePlugin
|
||||||
|
gnaTopicTypePlugin
|
||||||
|
ismTopicTypePlugin
|
||||||
|
mdmTopicTypePlugin
|
||||||
|
mrkTopicTypePlugin
|
||||||
|
msgTopicTypePlugin
|
||||||
|
nmeTopicTypePlugin
|
||||||
|
nomTopicTypePlugin
|
||||||
|
obdTopicTypePlugin
|
||||||
|
opmTopicTypePlugin
|
||||||
|
oscTopicTypePlugin
|
||||||
|
ossTopicTypePlugin
|
||||||
|
pdmTopicTypePlugin
|
||||||
|
ppmTopicTypePlugin
|
||||||
|
preTopicTypePlugin
|
||||||
|
repTopicTypePlugin
|
||||||
|
scmTopicTypePlugin
|
||||||
|
somTopicTypePlugin
|
||||||
|
srpTopicTypePlugin
|
||||||
|
tabTopicTypePlugin
|
||||||
|
tabocTopicTypePlugin
|
||||||
|
tgtTopicTypePlugin
|
||||||
|
whgTopicTypePlugin
|
||||||
displayPanelSimulator
|
displayPanelSimulator
|
||||||
LicenceEditor
|
LicenceEditor
|
||||||
localDomainFinder
|
localDomainFinder
|
||||||
@@ -1174,6 +1216,45 @@ run_build_group() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Ensure a local PostgreSQL DB is available for the DB tools (dbUpdate, dbAdministration, ...).
|
||||||
|
# Checks whether the server is pre-installed (baked into the image); if not, installs
|
||||||
|
# postgresql-18. Then maps EXCDBS01/EXCADB01 -> 127.0.0.1 and starts the cluster, seeding
|
||||||
|
# the roles (postgres, ctc_sv) + databases (lts_ets_pro, dbAdmin) the tools connect with.
|
||||||
|
# Entirely non-fatal: a DB problem must never abort the build.
|
||||||
|
ensure_database() {
|
||||||
|
log_info "Checking for a pre-installed PostgreSQL server..."
|
||||||
|
if ls /usr/lib/postgresql/*/bin/postgres >/dev/null 2>&1; then
|
||||||
|
log_info "PostgreSQL server already installed - skipping apt install"
|
||||||
|
else
|
||||||
|
log_info "PostgreSQL server not found - installing postgresql-18"
|
||||||
|
apt-get update -qq || true
|
||||||
|
DEBIAN_FRONTEND=noninteractive apt-get install -y -qq postgresql-18 >/dev/null 2>&1 || true
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Map the app's DB hostnames to the local server + start the cluster (idempotent).
|
||||||
|
grep -qE 'EXCDBS01' /etc/hosts || echo '127.0.0.1 EXCDBS01 EXCADB01' >> /etc/hosts
|
||||||
|
pg_ctlcluster 18 main start >/dev/null 2>&1 || true
|
||||||
|
sleep 1
|
||||||
|
|
||||||
|
# Ensure the roles + databases the DB tools use (idempotent; login password is 'postgres').
|
||||||
|
su postgres -c "psql -c \"ALTER USER postgres PASSWORD 'postgres'\"" >/dev/null 2>&1 || true
|
||||||
|
if ! su postgres -c "psql -tAc \"SELECT 1 FROM pg_roles WHERE rolname='ctc_sv'\"" 2>/dev/null | grep -q 1; then
|
||||||
|
su postgres -c "psql -c \"CREATE ROLE ctc_sv LOGIN PASSWORD 'postgres' CREATEDB\"" >/dev/null 2>&1 || true
|
||||||
|
fi
|
||||||
|
if ! su postgres -c "psql -tAc \"SELECT 1 FROM pg_database WHERE datname='lts_ets_pro'\"" 2>/dev/null | grep -q 1; then
|
||||||
|
su postgres -c "createdb -O postgres lts_ets_pro" >/dev/null 2>&1 || true
|
||||||
|
fi
|
||||||
|
if ! su postgres -c "psql -tAc \"SELECT 1 FROM pg_database WHERE datname='dbAdmin'\"" 2>/dev/null | grep -q 1; then
|
||||||
|
su postgres -c "createdb -O postgres dbAdmin" >/dev/null 2>&1 || true
|
||||||
|
fi
|
||||||
|
|
||||||
|
if pg_isready -h 127.0.0.1 -p 5432 >/dev/null 2>&1; then
|
||||||
|
log_info "PostgreSQL ready on 127.0.0.1:5432 (roles postgres/ctc_sv, dbs lts_ets_pro/dbAdmin)"
|
||||||
|
else
|
||||||
|
log_info "WARNING: PostgreSQL not ready on 127.0.0.1:5432 (DB tools may not connect; install may have failed)"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
if [[ "${USE_PREBUILT_IMAGE}" == "ON" ]]; then
|
if [[ "${USE_PREBUILT_IMAGE}" == "ON" ]]; then
|
||||||
log_info "Using prebuilt Docker image - skipping apt-get install and Qt6 package installation"
|
log_info "Using prebuilt Docker image - skipping apt-get install and Qt6 package installation"
|
||||||
else
|
else
|
||||||
@@ -1186,6 +1267,9 @@ else
|
|||||||
install_qt6_packages
|
install_qt6_packages
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Ensure the local PostgreSQL DB (dbUpdate / dbAdministration, ...) is available before the build.
|
||||||
|
ensure_database
|
||||||
|
|
||||||
export RTI_LICENSE_FILE=/workspace/rti_license.dat
|
export RTI_LICENSE_FILE=/workspace/rti_license.dat
|
||||||
export QT_QPA_PLATFORM=offscreen
|
export QT_QPA_PLATFORM=offscreen
|
||||||
|
|
||||||
|
|||||||
@@ -101,34 +101,34 @@ if(BUILD_TESTING)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Exclude LTS Tools tests when corresponding targets aren't available
|
# Exclude LTS Tools tests when corresponding targets aren't available
|
||||||
if(NOT TARGET DBAdministration)
|
if(NOT TARGET dbAdministration)
|
||||||
list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_DBAdministration\\.cpp")
|
list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_DBAdministration\\.cpp")
|
||||||
endif()
|
endif()
|
||||||
if(NOT TARGET DBOperatorSettingsRemover)
|
if(NOT TARGET SettingsRemover)
|
||||||
list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_DBOperatorSettingsRemover\\.cpp")
|
list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_DBOperatorSettingsRemover\\.cpp")
|
||||||
endif()
|
endif()
|
||||||
if(NOT TARGET DBUpdate)
|
if(NOT TARGET dbUpdate)
|
||||||
list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_DBUpdate\\.cpp")
|
list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_DBUpdate\\.cpp")
|
||||||
endif()
|
endif()
|
||||||
if(NOT TARGET DataSampleGenerator)
|
if(NOT TARGET tDataSampleGenerator)
|
||||||
list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_DataSampleGenerator\\.cpp")
|
list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_DataSampleGenerator\\.cpp")
|
||||||
endif()
|
endif()
|
||||||
if(NOT TARGET DataSampleReceiver)
|
if(NOT TARGET tDataSampleReceiver)
|
||||||
list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_DataSampleReceiver\\.cpp")
|
list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_DataSampleReceiver\\.cpp")
|
||||||
endif()
|
endif()
|
||||||
if(NOT TARGET DateTimeSyncer)
|
if(NOT TARGET DateTimeSyncer)
|
||||||
list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_DateTimeSyncer\\.cpp")
|
list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_DateTimeSyncer\\.cpp")
|
||||||
endif()
|
endif()
|
||||||
if(NOT TARGET DdsView)
|
if(NOT TARGET ddsview)
|
||||||
list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_DdsView\\.cpp")
|
list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_DdsView\\.cpp")
|
||||||
endif()
|
endif()
|
||||||
if(NOT TARGET DotMatrixDisplay)
|
if(NOT TARGET displayPanelSimulator)
|
||||||
list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_DotMatrixDisplay\\.cpp")
|
list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_DotMatrixDisplay\\.cpp")
|
||||||
endif()
|
endif()
|
||||||
if(NOT TARGET LicenceEditor)
|
if(NOT TARGET LicenceEditor)
|
||||||
list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_LicenceEditor\\.cpp")
|
list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_LicenceEditor\\.cpp")
|
||||||
endif()
|
endif()
|
||||||
if(NOT TARGET LocalDomainFinder)
|
if(NOT TARGET localDomainFinder)
|
||||||
list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_LocalDomainFinder\\.cpp")
|
list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_LocalDomainFinder\\.cpp")
|
||||||
endif()
|
endif()
|
||||||
if(NOT TARGET LogViewer)
|
if(NOT TARGET LogViewer)
|
||||||
@@ -160,10 +160,10 @@ if(BUILD_TESTING)
|
|||||||
if(NOT TARGET ProjectSettingsEditor)
|
if(NOT TARGET ProjectSettingsEditor)
|
||||||
list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_ProjectSettingsEditor\\.cpp")
|
list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_ProjectSettingsEditor\\.cpp")
|
||||||
endif()
|
endif()
|
||||||
if(NOT TARGET QLedLine)
|
if(NOT TARGET qledline)
|
||||||
list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_QLedLine\\.cpp")
|
list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_QLedLine\\.cpp")
|
||||||
endif()
|
endif()
|
||||||
if(NOT TARGET QLedMatrix)
|
if(NOT TARGET qledmatrix)
|
||||||
list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_QLedMatrix\\.cpp")
|
list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_QLedMatrix\\.cpp")
|
||||||
endif()
|
endif()
|
||||||
# Group 9 (R,S,T,V,W) exclusions
|
# Group 9 (R,S,T,V,W) exclusions
|
||||||
|
|||||||
Reference in new issue
Block a user