From f72fe27ff16d39f9c8fb0b8f7f9d8fcf7ef63dc2 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 6 May 2022 15:37:35 +0000 Subject: [PATCH 01/20] JCF: Issue #129: have daq-cmake be a build-only dependency which brings in not only pybind11 but also moo, and only have an explicit (run-time) dependence on moo if python configuration is used in a package --- spack-repos/externals/packages/uhal/package.py | 1 - .../release-repo-template/packages/appfwk/package.py | 4 ++-- .../release-repo-template/packages/cmdlib/package.py | 4 +--- .../release-repo-template/packages/daq-cmake/package.py | 6 ++++-- .../release-repo-template/packages/daqconf/package.py | 4 ++-- .../packages/daqdataformats/package.py | 2 +- .../release-repo-template/packages/dataformats/package.py | 2 +- .../packages/detchannelmaps/package.py | 2 +- .../packages/detdataformats/package.py | 2 +- .../release-repo-template/packages/dfmessages/package.py | 2 +- .../release-repo-template/packages/dfmodules/package.py | 4 ++-- spack-repos/release-repo-template/packages/dqm/package.py | 4 ++-- .../release-repo-template/packages/dtpcontrols/package.py | 3 +-- .../release-repo-template/packages/dtpctrllibs/package.py | 4 ++-- spack-repos/release-repo-template/packages/ers/package.py | 2 +- spack-repos/release-repo-template/packages/erses/package.py | 2 +- .../release-repo-template/packages/erskafka/package.py | 2 +- .../release-repo-template/packages/fdreadoutlibs/package.py | 2 +- .../release-repo-template/packages/flxlibs/package.py | 4 ++-- .../release-repo-template/packages/hdf5libs/package.py | 3 +-- .../release-repo-template/packages/influxopmon/package.py | 2 +- spack-repos/release-repo-template/packages/ipm/package.py | 2 +- .../release-repo-template/packages/kafkaopmon/package.py | 2 +- .../release-repo-template/packages/lbrulibs/package.py | 4 ++-- .../release-repo-template/packages/listrev/package.py | 4 ++-- .../release-repo-template/packages/logging/package.py | 2 +- .../release-repo-template/packages/minidaqapp/package.py | 2 +- .../release-repo-template/packages/ndreadoutlibs/package.py | 2 +- .../packages/networkmanager/package.py | 3 +-- .../packages/nwqueueadapters/package.py | 4 ++-- .../release-repo-template/packages/opmonlib/package.py | 2 +- .../release-repo-template/packages/rawdatautils/package.py | 2 +- spack-repos/release-repo-template/packages/rcif/package.py | 4 +--- .../release-repo-template/packages/readout/package.py | 2 +- .../release-repo-template/packages/readoutlibs/package.py | 3 +-- .../packages/readoutmodules/package.py | 4 ++-- .../release-repo-template/packages/restcmd/package.py | 2 +- .../release-repo-template/packages/serialization/package.py | 4 +--- .../release-repo-template/packages/sspmodules/package.py | 3 +-- .../release-repo-template/packages/timing/package.py | 3 +-- .../release-repo-template/packages/timinglibs/package.py | 4 ++-- .../release-repo-template/packages/trigemu/package.py | 4 ++-- .../release-repo-template/packages/trigger/package.py | 4 ++-- .../release-repo-template/packages/uhallibs/package.py | 2 +- .../release-repo-template/packages/utilities/package.py | 2 +- .../release-repo-template/packages/wibmod/package.py | 4 ++-- 46 files changed, 62 insertions(+), 73 deletions(-) diff --git a/spack-repos/externals/packages/uhal/package.py b/spack-repos/externals/packages/uhal/package.py index 2461d6f92..6592da0b1 100644 --- a/spack-repos/externals/packages/uhal/package.py +++ b/spack-repos/externals/packages/uhal/package.py @@ -10,7 +10,6 @@ class Uhal(Package): version('2.8.1', sha256='73f26639a16ea65cecd367045ad0767a7eb4f5f8f488df1bbf121fc47aec3142', extension='tar.gz') - #depends_on('boost@1.75.0+debug', type='build') depends_on('boost', type='build') depends_on('pugixml@1.11', type=('build', 'link', 'run')) depends_on('gettext@0.21', type=('build', 'link', 'run')) diff --git a/spack-repos/release-repo-template/packages/appfwk/package.py b/spack-repos/release-repo-template/packages/appfwk/package.py index 84c8be40a..69d992765 100644 --- a/spack-repos/release-repo-template/packages/appfwk/package.py +++ b/spack-repos/release-repo-template/packages/appfwk/package.py @@ -18,7 +18,7 @@ class Appfwk(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on('daq-cmake') + depends_on('daq-cmake', type='build') depends_on('logging') depends_on('cetlib') depends_on('ers') @@ -29,7 +29,7 @@ class Appfwk(CMakePackage): depends_on('folly cxxstd=17') depends_on('nlohmann-json') - depends_on('py-moo', type='build') + depends_on('py-moo', type='run') depends_on('boost' ) # DBT_DEBUG is used by daq-cmake to set compiler options diff --git a/spack-repos/release-repo-template/packages/cmdlib/package.py b/spack-repos/release-repo-template/packages/cmdlib/package.py index b09c6b2ca..8aa1100eb 100644 --- a/spack-repos/release-repo-template/packages/cmdlib/package.py +++ b/spack-repos/release-repo-template/packages/cmdlib/package.py @@ -17,15 +17,13 @@ class Cmdlib(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on('daq-cmake') + depends_on("daq-cmake", type="build") depends_on('nlohmann-json') depends_on('cetlib') depends_on('logging') depends_on('boost' ) depends_on('ers') - depends_on('py-moo', type='build') - # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): if str(self.spec.variants['build_type']) == "build_type=Debug": diff --git a/spack-repos/release-repo-template/packages/daq-cmake/package.py b/spack-repos/release-repo-template/packages/daq-cmake/package.py index ad263faa2..7f45642da 100644 --- a/spack-repos/release-repo-template/packages/daq-cmake/package.py +++ b/spack-repos/release-repo-template/packages/daq-cmake/package.py @@ -17,8 +17,10 @@ class DaqCmake(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on("py-pybind11") - + depends_on("py-pybind11", type=("run")) + depends_on("py-moo", type=("run")) + depends_on("cmake") + # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): if str(self.spec.variants['build_type']) == "build_type=Debug": diff --git a/spack-repos/release-repo-template/packages/daqconf/package.py b/spack-repos/release-repo-template/packages/daqconf/package.py index f916f6d04..44cdcc945 100644 --- a/spack-repos/release-repo-template/packages/daqconf/package.py +++ b/spack-repos/release-repo-template/packages/daqconf/package.py @@ -17,8 +17,8 @@ class Daqconf(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on("daq-cmake") - depends_on("py-moo", type='build') + depends_on("daq-cmake", type="build") + depends_on("py-moo", type='run') # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): diff --git a/spack-repos/release-repo-template/packages/daqdataformats/package.py b/spack-repos/release-repo-template/packages/daqdataformats/package.py index c3dd12664..b2d258a8b 100644 --- a/spack-repos/release-repo-template/packages/daqdataformats/package.py +++ b/spack-repos/release-repo-template/packages/daqdataformats/package.py @@ -17,7 +17,7 @@ class Daqdataformats(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on("daq-cmake") + depends_on("daq-cmake", type="build") depends_on('boost' ) depends_on('py-moo', type='build') diff --git a/spack-repos/release-repo-template/packages/dataformats/package.py b/spack-repos/release-repo-template/packages/dataformats/package.py index 13745debd..ae62eefe2 100644 --- a/spack-repos/release-repo-template/packages/dataformats/package.py +++ b/spack-repos/release-repo-template/packages/dataformats/package.py @@ -18,7 +18,7 @@ class Dataformats(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on("daq-cmake") + depends_on("daq-cmake", type="build") depends_on("ers") depends_on('boost' ) depends_on("logging") diff --git a/spack-repos/release-repo-template/packages/detchannelmaps/package.py b/spack-repos/release-repo-template/packages/detchannelmaps/package.py index 3f6981013..427842ab5 100644 --- a/spack-repos/release-repo-template/packages/detchannelmaps/package.py +++ b/spack-repos/release-repo-template/packages/detchannelmaps/package.py @@ -17,7 +17,7 @@ class Detchannelmaps(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on("daq-cmake") + depends_on("daq-cmake", type="build") depends_on("cetlib") depends_on("logging") depends_on("ers") diff --git a/spack-repos/release-repo-template/packages/detdataformats/package.py b/spack-repos/release-repo-template/packages/detdataformats/package.py index edb4ed6f7..9d459790b 100644 --- a/spack-repos/release-repo-template/packages/detdataformats/package.py +++ b/spack-repos/release-repo-template/packages/detdataformats/package.py @@ -17,7 +17,7 @@ class Detdataformats(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on("daq-cmake") + depends_on("daq-cmake", type="build") depends_on("boost") depends_on('py-moo', type='build') diff --git a/spack-repos/release-repo-template/packages/dfmessages/package.py b/spack-repos/release-repo-template/packages/dfmessages/package.py index b4575ecab..f6d07dd45 100644 --- a/spack-repos/release-repo-template/packages/dfmessages/package.py +++ b/spack-repos/release-repo-template/packages/dfmessages/package.py @@ -17,7 +17,7 @@ class Dfmessages(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on("daq-cmake") + depends_on("daq-cmake", type="build") depends_on("nwqueueadapters") depends_on("serialization") depends_on("daqdataformats") diff --git a/spack-repos/release-repo-template/packages/dfmodules/package.py b/spack-repos/release-repo-template/packages/dfmodules/package.py index 048d48bbd..210e659c4 100644 --- a/spack-repos/release-repo-template/packages/dfmodules/package.py +++ b/spack-repos/release-repo-template/packages/dfmodules/package.py @@ -18,7 +18,7 @@ class Dfmodules(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on("daq-cmake") + depends_on("daq-cmake", type="build") depends_on("trigger") depends_on("triggeralgs") depends_on("dfmessages") @@ -30,7 +30,7 @@ class Dfmodules(CMakePackage): depends_on("ers") depends_on("logging") - depends_on("py-moo", type='build') + depends_on("py-moo", type='run') depends_on("highfive ~mpi") depends_on("boost") diff --git a/spack-repos/release-repo-template/packages/dqm/package.py b/spack-repos/release-repo-template/packages/dqm/package.py index 97f5fe746..adc9bc52a 100644 --- a/spack-repos/release-repo-template/packages/dqm/package.py +++ b/spack-repos/release-repo-template/packages/dqm/package.py @@ -18,7 +18,7 @@ class Dqm(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on("daq-cmake") + depends_on("daq-cmake", type="build") depends_on("readoutlibs") depends_on("appfwk") @@ -31,7 +31,7 @@ class Dqm(CMakePackage): depends_on("boost") depends_on("timinglibs") depends_on("librdkafka") - depends_on("py-moo", type='build') + depends_on("py-moo", type='run') depends_on("openssl") depends_on("krb5") depends_on("cyrus-sasl") diff --git a/spack-repos/release-repo-template/packages/dtpcontrols/package.py b/spack-repos/release-repo-template/packages/dtpcontrols/package.py index b0af5e768..678c383f9 100644 --- a/spack-repos/release-repo-template/packages/dtpcontrols/package.py +++ b/spack-repos/release-repo-template/packages/dtpcontrols/package.py @@ -17,13 +17,12 @@ class Dtpcontrols(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on("daq-cmake") + depends_on("daq-cmake", type="build") depends_on("ers") depends_on("logging") depends_on("uhal") depends_on("uhallibs") - depends_on("py-pybind11") depends_on("py-moo", type='build') # DBT_DEBUG is used by daq-cmake to set compiler options diff --git a/spack-repos/release-repo-template/packages/dtpctrllibs/package.py b/spack-repos/release-repo-template/packages/dtpctrllibs/package.py index 696b91885..f44018b2d 100644 --- a/spack-repos/release-repo-template/packages/dtpctrllibs/package.py +++ b/spack-repos/release-repo-template/packages/dtpctrllibs/package.py @@ -17,7 +17,7 @@ class Dtpctrllibs(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on("daq-cmake") + depends_on("daq-cmake", type="build") depends_on("appfwk") depends_on("ers") depends_on("logging") @@ -27,7 +27,7 @@ class Dtpctrllibs(CMakePackage): depends_on("pugixml") depends_on("dtpcontrols") - depends_on("py-moo", type='build') + depends_on("py-moo", type='run') # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): diff --git a/spack-repos/release-repo-template/packages/ers/package.py b/spack-repos/release-repo-template/packages/ers/package.py index 423b6de4b..cdcccb8c0 100644 --- a/spack-repos/release-repo-template/packages/ers/package.py +++ b/spack-repos/release-repo-template/packages/ers/package.py @@ -17,7 +17,7 @@ class Ers(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on('daq-cmake') + depends_on('daq-cmake', type='build') depends_on('boost') # DBT_DEBUG is used by daq-cmake to set compiler options diff --git a/spack-repos/release-repo-template/packages/erses/package.py b/spack-repos/release-repo-template/packages/erses/package.py index 138e11ba4..282a63dcd 100644 --- a/spack-repos/release-repo-template/packages/erses/package.py +++ b/spack-repos/release-repo-template/packages/erses/package.py @@ -18,7 +18,7 @@ class Erses(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on("daq-cmake") + depends_on("daq-cmake", type="build") depends_on("ers") depends_on("cpr") diff --git a/spack-repos/release-repo-template/packages/erskafka/package.py b/spack-repos/release-repo-template/packages/erskafka/package.py index 268d8e029..9cd5d9e71 100644 --- a/spack-repos/release-repo-template/packages/erskafka/package.py +++ b/spack-repos/release-repo-template/packages/erskafka/package.py @@ -17,7 +17,7 @@ class Erskafka(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on("daq-cmake") + depends_on("daq-cmake", type="build") depends_on("ers") depends_on("librdkafka") depends_on('boost' ) diff --git a/spack-repos/release-repo-template/packages/fdreadoutlibs/package.py b/spack-repos/release-repo-template/packages/fdreadoutlibs/package.py index 3d3d71b60..ff68b9524 100644 --- a/spack-repos/release-repo-template/packages/fdreadoutlibs/package.py +++ b/spack-repos/release-repo-template/packages/fdreadoutlibs/package.py @@ -29,7 +29,7 @@ class Fdreadoutlibs(CMakePackage): depends_on('folly cxxstd=17') depends_on("boost") - depends_on("daq-cmake") + depends_on("daq-cmake", type="build") depends_on("py-moo", type='build') # DBT_DEBUG is used by daq-cmake to set compiler options diff --git a/spack-repos/release-repo-template/packages/flxlibs/package.py b/spack-repos/release-repo-template/packages/flxlibs/package.py index 51e86f13c..12226e32e 100644 --- a/spack-repos/release-repo-template/packages/flxlibs/package.py +++ b/spack-repos/release-repo-template/packages/flxlibs/package.py @@ -18,7 +18,7 @@ class Flxlibs(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on("daq-cmake") + depends_on("daq-cmake", type="build") depends_on("appfwk") depends_on("logging") depends_on("ers") @@ -26,7 +26,7 @@ class Flxlibs(CMakePackage): depends_on("fdreadoutlibs") depends_on("felix-software") depends_on("opmonlib") - depends_on("py-moo", type='build') + depends_on("py-moo", type='run') # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): diff --git a/spack-repos/release-repo-template/packages/hdf5libs/package.py b/spack-repos/release-repo-template/packages/hdf5libs/package.py index ae364bc71..4e0b61185 100644 --- a/spack-repos/release-repo-template/packages/hdf5libs/package.py +++ b/spack-repos/release-repo-template/packages/hdf5libs/package.py @@ -24,8 +24,7 @@ class Hdf5libs(CMakePackage): depends_on("detchannelmaps") depends_on("cetlib") depends_on("ers") - depends_on("daq-cmake") - depends_on('py-moo', type='build') + depends_on("daq-cmake", type="build") depends_on("boost") depends_on("nlohmann-json") diff --git a/spack-repos/release-repo-template/packages/influxopmon/package.py b/spack-repos/release-repo-template/packages/influxopmon/package.py index 10202a739..3e90f0ccc 100644 --- a/spack-repos/release-repo-template/packages/influxopmon/package.py +++ b/spack-repos/release-repo-template/packages/influxopmon/package.py @@ -19,7 +19,7 @@ class Influxopmon(CMakePackage): - depends_on("daq-cmake") + depends_on("daq-cmake", type="build") depends_on("opmonlib") depends_on("cpr") depends_on("curl") diff --git a/spack-repos/release-repo-template/packages/ipm/package.py b/spack-repos/release-repo-template/packages/ipm/package.py index 098462242..4a97a26c5 100644 --- a/spack-repos/release-repo-template/packages/ipm/package.py +++ b/spack-repos/release-repo-template/packages/ipm/package.py @@ -17,7 +17,7 @@ class Ipm(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on("daq-cmake") + depends_on("daq-cmake", type="build") depends_on("logging") depends_on("ers") depends_on("utilities") diff --git a/spack-repos/release-repo-template/packages/kafkaopmon/package.py b/spack-repos/release-repo-template/packages/kafkaopmon/package.py index 63d829613..f053869f1 100644 --- a/spack-repos/release-repo-template/packages/kafkaopmon/package.py +++ b/spack-repos/release-repo-template/packages/kafkaopmon/package.py @@ -17,7 +17,7 @@ class Kafkaopmon(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on("daq-cmake") + depends_on("daq-cmake", type="build") depends_on("opmonlib") depends_on("cpr") depends_on("curl") diff --git a/spack-repos/release-repo-template/packages/lbrulibs/package.py b/spack-repos/release-repo-template/packages/lbrulibs/package.py index 4cbbc57d3..142db9a40 100644 --- a/spack-repos/release-repo-template/packages/lbrulibs/package.py +++ b/spack-repos/release-repo-template/packages/lbrulibs/package.py @@ -18,7 +18,7 @@ class Lbrulibs(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on("daq-cmake") + depends_on("daq-cmake", type="build") depends_on("readoutlibs") depends_on("ndreadoutlibs") depends_on("ipm") @@ -27,7 +27,7 @@ class Lbrulibs(CMakePackage): depends_on("boost") depends_on("ers") depends_on("detdataformats") - depends_on("py-moo", type='build') + depends_on("py-moo", type='run') # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): diff --git a/spack-repos/release-repo-template/packages/listrev/package.py b/spack-repos/release-repo-template/packages/listrev/package.py index e594610ef..48d0a4140 100644 --- a/spack-repos/release-repo-template/packages/listrev/package.py +++ b/spack-repos/release-repo-template/packages/listrev/package.py @@ -19,13 +19,13 @@ class Listrev(CMakePackage): version("XVERSIONX", commit="XHASHX") depends_on("appfwk") - depends_on("daq-cmake") + depends_on("daq-cmake", type="build") depends_on("rcif") depends_on("opmonlib") depends_on("logging") depends_on("ers") - depends_on("py-moo", type='build') + depends_on("py-moo", type='run') # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): diff --git a/spack-repos/release-repo-template/packages/logging/package.py b/spack-repos/release-repo-template/packages/logging/package.py index 0433ff611..f9c48347f 100644 --- a/spack-repos/release-repo-template/packages/logging/package.py +++ b/spack-repos/release-repo-template/packages/logging/package.py @@ -17,7 +17,7 @@ class Logging(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on('daq-cmake') + depends_on('daq-cmake', type='build') depends_on('trace') depends_on('ers') diff --git a/spack-repos/release-repo-template/packages/minidaqapp/package.py b/spack-repos/release-repo-template/packages/minidaqapp/package.py index 0f9f508b1..5142e449a 100644 --- a/spack-repos/release-repo-template/packages/minidaqapp/package.py +++ b/spack-repos/release-repo-template/packages/minidaqapp/package.py @@ -18,7 +18,7 @@ class Minidaqapp(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on("daq-cmake") + depends_on("daq-cmake", type="build") depends_on("py-moo", type='build') # DBT_DEBUG is used by daq-cmake to set compiler options diff --git a/spack-repos/release-repo-template/packages/ndreadoutlibs/package.py b/spack-repos/release-repo-template/packages/ndreadoutlibs/package.py index eb59a4240..0fa2650e1 100644 --- a/spack-repos/release-repo-template/packages/ndreadoutlibs/package.py +++ b/spack-repos/release-repo-template/packages/ndreadoutlibs/package.py @@ -27,7 +27,7 @@ class Ndreadoutlibs(CMakePackage): depends_on('folly cxxstd=17') depends_on("boost") - depends_on("daq-cmake") + depends_on("daq-cmake", type="build") depends_on("py-moo", type='build') # DBT_DEBUG is used by daq-cmake to set compiler options diff --git a/spack-repos/release-repo-template/packages/networkmanager/package.py b/spack-repos/release-repo-template/packages/networkmanager/package.py index d2414e55e..c062bfb5f 100644 --- a/spack-repos/release-repo-template/packages/networkmanager/package.py +++ b/spack-repos/release-repo-template/packages/networkmanager/package.py @@ -25,8 +25,7 @@ class Networkmanager(CMakePackage): depends_on("nlohmann-json") depends_on("boost") - depends_on("py-moo", type='build') - depends_on("daq-cmake") + depends_on("daq-cmake", type="build") # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): diff --git a/spack-repos/release-repo-template/packages/nwqueueadapters/package.py b/spack-repos/release-repo-template/packages/nwqueueadapters/package.py index 191fbb561..9edffc326 100644 --- a/spack-repos/release-repo-template/packages/nwqueueadapters/package.py +++ b/spack-repos/release-repo-template/packages/nwqueueadapters/package.py @@ -17,7 +17,7 @@ class Nwqueueadapters(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on("daq-cmake") + depends_on("daq-cmake", type="build") depends_on("appfwk") depends_on("utilities") depends_on("networkmanager") @@ -27,7 +27,7 @@ class Nwqueueadapters(CMakePackage): depends_on("opmonlib") depends_on("ers") depends_on("boost") - depends_on("py-moo", type='build') + depends_on("py-moo", type='run') depends_on("nlohmann-json") diff --git a/spack-repos/release-repo-template/packages/opmonlib/package.py b/spack-repos/release-repo-template/packages/opmonlib/package.py index a89057ecb..7dc854ada 100644 --- a/spack-repos/release-repo-template/packages/opmonlib/package.py +++ b/spack-repos/release-repo-template/packages/opmonlib/package.py @@ -18,7 +18,7 @@ class Opmonlib(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on('daq-cmake') + depends_on('daq-cmake', type='build') depends_on('cetlib') depends_on('ers') depends_on('logging') diff --git a/spack-repos/release-repo-template/packages/rawdatautils/package.py b/spack-repos/release-repo-template/packages/rawdatautils/package.py index 26bf8ac97..fb2f5fafb 100644 --- a/spack-repos/release-repo-template/packages/rawdatautils/package.py +++ b/spack-repos/release-repo-template/packages/rawdatautils/package.py @@ -17,7 +17,7 @@ class Rawdatautils(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on("daq-cmake") + depends_on("daq-cmake", type="build") depends_on("daqdataformats") depends_on("detdataformats") diff --git a/spack-repos/release-repo-template/packages/rcif/package.py b/spack-repos/release-repo-template/packages/rcif/package.py index 21e8c0681..e130a0afe 100644 --- a/spack-repos/release-repo-template/packages/rcif/package.py +++ b/spack-repos/release-repo-template/packages/rcif/package.py @@ -17,12 +17,10 @@ class Rcif(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on("daq-cmake") + depends_on("daq-cmake", type="build") depends_on("cmdlib") depends_on("opmonlib") - depends_on("py-moo", type='build') - # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): if str(self.spec.variants['build_type']) == "build_type=Debug": diff --git a/spack-repos/release-repo-template/packages/readout/package.py b/spack-repos/release-repo-template/packages/readout/package.py index 3c777c5c4..e580abff9 100644 --- a/spack-repos/release-repo-template/packages/readout/package.py +++ b/spack-repos/release-repo-template/packages/readout/package.py @@ -18,7 +18,7 @@ class Readout(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on("daq-cmake") + depends_on("daq-cmake", type="build") depends_on("trigger") depends_on("timinglibs") depends_on("triggeralgs") diff --git a/spack-repos/release-repo-template/packages/readoutlibs/package.py b/spack-repos/release-repo-template/packages/readoutlibs/package.py index 623f351ff..44dd7af43 100644 --- a/spack-repos/release-repo-template/packages/readoutlibs/package.py +++ b/spack-repos/release-repo-template/packages/readoutlibs/package.py @@ -26,8 +26,7 @@ class Readoutlibs(CMakePackage): depends_on('folly cxxstd=17') depends_on("boost") - depends_on("daq-cmake") - depends_on("py-moo", type='build') + depends_on("daq-cmake", type="build") # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): diff --git a/spack-repos/release-repo-template/packages/readoutmodules/package.py b/spack-repos/release-repo-template/packages/readoutmodules/package.py index 8a15eb176..fa518e5e8 100644 --- a/spack-repos/release-repo-template/packages/readoutmodules/package.py +++ b/spack-repos/release-repo-template/packages/readoutmodules/package.py @@ -30,8 +30,8 @@ class Readoutmodules(CMakePackage): depends_on('folly cxxstd=17') depends_on("boost") - depends_on("daq-cmake") - depends_on("py-moo", type='build') + depends_on("daq-cmake", type="build") + depends_on("py-moo", type='run') # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): diff --git a/spack-repos/release-repo-template/packages/restcmd/package.py b/spack-repos/release-repo-template/packages/restcmd/package.py index 95828eaa9..a33edd3ee 100644 --- a/spack-repos/release-repo-template/packages/restcmd/package.py +++ b/spack-repos/release-repo-template/packages/restcmd/package.py @@ -17,7 +17,7 @@ class Restcmd(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on("daq-cmake") + depends_on("daq-cmake", type="build") depends_on("cetlib") depends_on("logging") depends_on("cmdlib") diff --git a/spack-repos/release-repo-template/packages/serialization/package.py b/spack-repos/release-repo-template/packages/serialization/package.py index 9c1bd97f6..4a3bd9b02 100644 --- a/spack-repos/release-repo-template/packages/serialization/package.py +++ b/spack-repos/release-repo-template/packages/serialization/package.py @@ -17,14 +17,12 @@ class Serialization(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on("daq-cmake") + depends_on("daq-cmake", type="build") depends_on("appfwk") depends_on("logging") depends_on("ers") depends_on("boost") - depends_on("py-moo", type='build') - depends_on("msgpack-c") depends_on("nlohmann-json") diff --git a/spack-repos/release-repo-template/packages/sspmodules/package.py b/spack-repos/release-repo-template/packages/sspmodules/package.py index a7ea8b2e0..4a9c30139 100644 --- a/spack-repos/release-repo-template/packages/sspmodules/package.py +++ b/spack-repos/release-repo-template/packages/sspmodules/package.py @@ -24,8 +24,7 @@ class Sspmodules(CMakePackage): depends_on("readoutlibs") depends_on("fdreadoutlibs") depends_on("opmonlib") - depends_on("daq-cmake") - depends_on('py-moo', type='build') + depends_on("daq-cmake", type="build") def setup_run_environment(self, env): env.set(self.__module__.split(".")[-1].upper().replace("-", "_") + "_SHARE", self.prefix + "/share" ) diff --git a/spack-repos/release-repo-template/packages/timing/package.py b/spack-repos/release-repo-template/packages/timing/package.py index a4a921db6..9d94b9b96 100644 --- a/spack-repos/release-repo-template/packages/timing/package.py +++ b/spack-repos/release-repo-template/packages/timing/package.py @@ -18,14 +18,13 @@ class Timing(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on('daq-cmake') + depends_on('daq-cmake', type='build') depends_on('logging') depends_on('ers') depends_on('opmonlib') depends_on('nlohmann-json') depends_on('uhal') - depends_on("py-moo", type='build') # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): diff --git a/spack-repos/release-repo-template/packages/timinglibs/package.py b/spack-repos/release-repo-template/packages/timinglibs/package.py index aa1893d27..b3d0cf23e 100644 --- a/spack-repos/release-repo-template/packages/timinglibs/package.py +++ b/spack-repos/release-repo-template/packages/timinglibs/package.py @@ -18,7 +18,7 @@ class Timinglibs(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on("daq-cmake") + depends_on("daq-cmake", type="build") depends_on("ers") depends_on("timing") depends_on("dfmessages") @@ -34,7 +34,7 @@ class Timinglibs(CMakePackage): depends_on("nlohmann-json") depends_on("pugixml") - depends_on("py-moo", type='build') + depends_on("py-moo", type='run') # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): diff --git a/spack-repos/release-repo-template/packages/trigemu/package.py b/spack-repos/release-repo-template/packages/trigemu/package.py index 4747959ce..dcdc9c103 100644 --- a/spack-repos/release-repo-template/packages/trigemu/package.py +++ b/spack-repos/release-repo-template/packages/trigemu/package.py @@ -18,13 +18,13 @@ class Trigemu(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on("daq-cmake") + depends_on("daq-cmake", type="build") depends_on("appfwk") depends_on("logging") depends_on("dfmessages") depends_on("opmonlib") - depends_on('py-moo', type='build') + depends_on('py-moo', type='run') # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): diff --git a/spack-repos/release-repo-template/packages/trigger/package.py b/spack-repos/release-repo-template/packages/trigger/package.py index 4f5c802b2..96e3a5436 100644 --- a/spack-repos/release-repo-template/packages/trigger/package.py +++ b/spack-repos/release-repo-template/packages/trigger/package.py @@ -18,7 +18,7 @@ class Trigger(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on("daq-cmake") + depends_on("daq-cmake", type="build") depends_on("ers") depends_on("serialization") depends_on("logging") @@ -37,7 +37,7 @@ class Trigger(CMakePackage): depends_on('boost' ) - depends_on("py-moo", type='build') + depends_on("py-moo", type='run') diff --git a/spack-repos/release-repo-template/packages/uhallibs/package.py b/spack-repos/release-repo-template/packages/uhallibs/package.py index 24f86acb3..0675b5941 100644 --- a/spack-repos/release-repo-template/packages/uhallibs/package.py +++ b/spack-repos/release-repo-template/packages/uhallibs/package.py @@ -17,7 +17,7 @@ class Uhallibs(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on("daq-cmake") + depends_on("daq-cmake", type="build") depends_on("felix-software") depends_on("uhal") diff --git a/spack-repos/release-repo-template/packages/utilities/package.py b/spack-repos/release-repo-template/packages/utilities/package.py index b59518654..d7b33bfe2 100644 --- a/spack-repos/release-repo-template/packages/utilities/package.py +++ b/spack-repos/release-repo-template/packages/utilities/package.py @@ -23,7 +23,7 @@ class Utilities(CMakePackage): depends_on("ers") depends_on("py-moo", type='build') - depends_on("daq-cmake") + depends_on("daq-cmake", type="build") # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): diff --git a/spack-repos/release-repo-template/packages/wibmod/package.py b/spack-repos/release-repo-template/packages/wibmod/package.py index c7719a7c4..d53c97ef5 100644 --- a/spack-repos/release-repo-template/packages/wibmod/package.py +++ b/spack-repos/release-repo-template/packages/wibmod/package.py @@ -27,8 +27,8 @@ class Wibmod(CMakePackage): depends_on("detdataformats") depends_on("detchannelmaps") - depends_on("daq-cmake") - depends_on('py-moo', type='build') + depends_on("daq-cmake", type="build") + depends_on('py-moo', type='run') # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): From a2fe6ce077a6bd6ac045aa36dc7235fddbafb0ad Mon Sep 17 00:00:00 2001 From: root Date: Fri, 6 May 2022 17:20:30 +0000 Subject: [PATCH 02/20] JCF: Issue #129: update boost dependencies (main change is to build only if they're only used in unit tests) --- .../packages/appfwk/#package.py# | 46 +++++++++++++++++++ .../packages/appfwk/package.py | 2 +- .../packages/daqdataformats/package.py | 2 +- .../packages/detdataformats/package.py | 2 +- .../packages/dfmessages/package.py | 2 +- .../packages/dtpcontrols/package.py | 1 + .../packages/hdf5libs/package.py | 2 +- .../packages/lbrulibs/package.py | 2 +- .../packages/networkmanager/package.py | 2 +- .../packages/rawdatautils/package.py | 2 +- .../packages/sspmodules/package.py | 1 + .../packages/timing/package.py | 1 + .../packages/trigger/package.py | 2 +- .../packages/triggeralgs/package.py | 1 + 14 files changed, 59 insertions(+), 9 deletions(-) create mode 100644 spack-repos/release-repo-template/packages/appfwk/#package.py# diff --git a/spack-repos/release-repo-template/packages/appfwk/#package.py# b/spack-repos/release-repo-template/packages/appfwk/#package.py# new file mode 100644 index 000000000..69d992765 --- /dev/null +++ b/spack-repos/release-repo-template/packages/appfwk/#package.py# @@ -0,0 +1,46 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + + +from spack import * + + +class Appfwk(CMakePackage): + """Home of daq_application and tools for writing DAQ modules""" + + homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/appfwk/" + git = "https://github.com/DUNE-DAQ/appfwk.git" + + maintainers = ["jcfreeman2"] + + version("XVERSIONX", commit="XHASHX") + + + depends_on('daq-cmake', type='build') + depends_on('logging') + depends_on('cetlib') + depends_on('ers') + depends_on('cmdlib') + depends_on('rcif') + depends_on('networkmanager') + depends_on('opmonlib') + + depends_on('folly cxxstd=17') + depends_on('nlohmann-json') + depends_on('py-moo', type='run') + depends_on('boost' ) + + # DBT_DEBUG is used by daq-cmake to set compiler options + def cmake_args(self): + if str(self.spec.variants['build_type']) == "build_type=Debug": + return ["-DDBT_DEBUG=true"] + else: + return ["-DDBT_DEBUG=false"] + + def setup_run_environment(self, env): + env.set(self.__module__.split(".")[-1].upper().replace("-", "_") + "_SHARE", self.prefix + "/share" ) + env.prepend_path("DUNEDAQ_SHARE_PATH", self.prefix + "/share") + env.prepend_path('CET_PLUGIN_PATH', self.prefix.lib + "64") + env.prepend_path("PYTHONPATH", self.prefix.lib + "64/python") diff --git a/spack-repos/release-repo-template/packages/appfwk/package.py b/spack-repos/release-repo-template/packages/appfwk/package.py index 69d992765..8622d9193 100644 --- a/spack-repos/release-repo-template/packages/appfwk/package.py +++ b/spack-repos/release-repo-template/packages/appfwk/package.py @@ -30,7 +30,7 @@ class Appfwk(CMakePackage): depends_on('folly cxxstd=17') depends_on('nlohmann-json') depends_on('py-moo', type='run') - depends_on('boost' ) + depends_on('boost', type='build' ) # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): diff --git a/spack-repos/release-repo-template/packages/daqdataformats/package.py b/spack-repos/release-repo-template/packages/daqdataformats/package.py index b2d258a8b..724ba67c7 100644 --- a/spack-repos/release-repo-template/packages/daqdataformats/package.py +++ b/spack-repos/release-repo-template/packages/daqdataformats/package.py @@ -18,7 +18,7 @@ class Daqdataformats(CMakePackage): version("XVERSIONX", commit="XHASHX") depends_on("daq-cmake", type="build") - depends_on('boost' ) + depends_on('boost', type='build' ) depends_on('py-moo', type='build') # DBT_DEBUG is used by daq-cmake to set compiler options diff --git a/spack-repos/release-repo-template/packages/detdataformats/package.py b/spack-repos/release-repo-template/packages/detdataformats/package.py index 9d459790b..2482120a2 100644 --- a/spack-repos/release-repo-template/packages/detdataformats/package.py +++ b/spack-repos/release-repo-template/packages/detdataformats/package.py @@ -18,7 +18,7 @@ class Detdataformats(CMakePackage): version("XVERSIONX", commit="XHASHX") depends_on("daq-cmake", type="build") - depends_on("boost") + depends_on("boost", type="build") depends_on('py-moo', type='build') # DBT_DEBUG is used by daq-cmake to set compiler options diff --git a/spack-repos/release-repo-template/packages/dfmessages/package.py b/spack-repos/release-repo-template/packages/dfmessages/package.py index f6d07dd45..434e6de1a 100644 --- a/spack-repos/release-repo-template/packages/dfmessages/package.py +++ b/spack-repos/release-repo-template/packages/dfmessages/package.py @@ -22,7 +22,7 @@ class Dfmessages(CMakePackage): depends_on("serialization") depends_on("daqdataformats") - depends_on('boost' ) + depends_on('boost', type='build' ) # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): diff --git a/spack-repos/release-repo-template/packages/dtpcontrols/package.py b/spack-repos/release-repo-template/packages/dtpcontrols/package.py index 678c383f9..11cd80a71 100644 --- a/spack-repos/release-repo-template/packages/dtpcontrols/package.py +++ b/spack-repos/release-repo-template/packages/dtpcontrols/package.py @@ -22,6 +22,7 @@ class Dtpcontrols(CMakePackage): depends_on("logging") depends_on("uhal") depends_on("uhallibs") + depends_on("boost") depends_on("py-moo", type='build') diff --git a/spack-repos/release-repo-template/packages/hdf5libs/package.py b/spack-repos/release-repo-template/packages/hdf5libs/package.py index 4e0b61185..db862a7f5 100644 --- a/spack-repos/release-repo-template/packages/hdf5libs/package.py +++ b/spack-repos/release-repo-template/packages/hdf5libs/package.py @@ -25,7 +25,7 @@ class Hdf5libs(CMakePackage): depends_on("cetlib") depends_on("ers") depends_on("daq-cmake", type="build") - depends_on("boost") + depends_on("boost", type="build") depends_on("nlohmann-json") # DBT_DEBUG is used by daq-cmake to set compiler options diff --git a/spack-repos/release-repo-template/packages/lbrulibs/package.py b/spack-repos/release-repo-template/packages/lbrulibs/package.py index 142db9a40..7a277954e 100644 --- a/spack-repos/release-repo-template/packages/lbrulibs/package.py +++ b/spack-repos/release-repo-template/packages/lbrulibs/package.py @@ -24,7 +24,7 @@ class Lbrulibs(CMakePackage): depends_on("ipm") depends_on("appfwk") depends_on("logging") - depends_on("boost") + depends_on("boost", type="build") depends_on("ers") depends_on("detdataformats") depends_on("py-moo", type='run') diff --git a/spack-repos/release-repo-template/packages/networkmanager/package.py b/spack-repos/release-repo-template/packages/networkmanager/package.py index c062bfb5f..8474b120d 100644 --- a/spack-repos/release-repo-template/packages/networkmanager/package.py +++ b/spack-repos/release-repo-template/packages/networkmanager/package.py @@ -23,7 +23,7 @@ class Networkmanager(CMakePackage): depends_on("opmonlib") depends_on("ers") depends_on("nlohmann-json") - depends_on("boost") + depends_on("boost", type="build") depends_on("daq-cmake", type="build") diff --git a/spack-repos/release-repo-template/packages/rawdatautils/package.py b/spack-repos/release-repo-template/packages/rawdatautils/package.py index fb2f5fafb..8f0122b30 100644 --- a/spack-repos/release-repo-template/packages/rawdatautils/package.py +++ b/spack-repos/release-repo-template/packages/rawdatautils/package.py @@ -21,7 +21,7 @@ class Rawdatautils(CMakePackage): depends_on("daqdataformats") depends_on("detdataformats") - depends_on("boost") + depends_on("boost", type="build") depends_on("py-moo", type='build') # DBT_DEBUG is used by daq-cmake to set compiler options diff --git a/spack-repos/release-repo-template/packages/sspmodules/package.py b/spack-repos/release-repo-template/packages/sspmodules/package.py index 4a9c30139..ca14b37bb 100644 --- a/spack-repos/release-repo-template/packages/sspmodules/package.py +++ b/spack-repos/release-repo-template/packages/sspmodules/package.py @@ -24,6 +24,7 @@ class Sspmodules(CMakePackage): depends_on("readoutlibs") depends_on("fdreadoutlibs") depends_on("opmonlib") + depends_on("boost") depends_on("daq-cmake", type="build") def setup_run_environment(self, env): diff --git a/spack-repos/release-repo-template/packages/timing/package.py b/spack-repos/release-repo-template/packages/timing/package.py index 9d94b9b96..912fa8fff 100644 --- a/spack-repos/release-repo-template/packages/timing/package.py +++ b/spack-repos/release-repo-template/packages/timing/package.py @@ -22,6 +22,7 @@ class Timing(CMakePackage): depends_on('logging') depends_on('ers') depends_on('opmonlib') + depends_on("boost") depends_on('nlohmann-json') depends_on('uhal') diff --git a/spack-repos/release-repo-template/packages/trigger/package.py b/spack-repos/release-repo-template/packages/trigger/package.py index 96e3a5436..c23a33374 100644 --- a/spack-repos/release-repo-template/packages/trigger/package.py +++ b/spack-repos/release-repo-template/packages/trigger/package.py @@ -36,7 +36,7 @@ class Trigger(CMakePackage): depends_on("cli11") - depends_on('boost' ) + depends_on('boost', type='build' ) depends_on("py-moo", type='run') diff --git a/spack-repos/release-repo-template/packages/triggeralgs/package.py b/spack-repos/release-repo-template/packages/triggeralgs/package.py index 93e922734..c98294014 100644 --- a/spack-repos/release-repo-template/packages/triggeralgs/package.py +++ b/spack-repos/release-repo-template/packages/triggeralgs/package.py @@ -21,6 +21,7 @@ class Triggeralgs(CMakePackage): depends_on("nlohmann-json") depends_on("trace") depends_on("detdataformats") + depends_on("boost") # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): From 061d4385ec854966cfe691da6c7aa718f5327f12 Mon Sep 17 00:00:00 2001 From: root Date: Sun, 8 May 2022 17:14:58 +0000 Subject: [PATCH 03/20] JCF: Issue #129: generate the homepage field in package.py based on what's actually available on the web --- scripts/spack/make-release-repo.py | 33 +++++++++++++++++-- .../packages/appfwk/package.py | 2 +- .../packages/cmdlib/package.py | 2 +- .../packages/daq-cmake/package.py | 2 +- .../packages/daqconf/package.py | 2 +- .../packages/daqdataformats/package.py | 2 +- .../packages/dataformats/package.py | 2 +- .../packages/detchannelmaps/package.py | 2 +- .../packages/detdataformats/package.py | 2 +- .../packages/devtools/package.py | 2 +- .../packages/dfmessages/package.py | 2 +- .../packages/dfmodules/package.py | 2 +- .../packages/dqm/package.py | 2 +- .../packages/dtpcontrols/package.py | 2 +- .../packages/dtpctrllibs/package.py | 2 +- .../packages/dunedaq/package.py | 2 +- .../packages/ers/package.py | 2 +- .../packages/erses/package.py | 2 +- .../packages/erskafka/package.py | 2 +- .../packages/externals/package.py | 2 +- .../packages/fdreadoutlibs/package.py | 2 +- .../packages/flxlibs/package.py | 2 +- .../packages/hdf5libs/package.py | 2 +- .../packages/influxopmon/package.py | 2 +- .../packages/ipm/package.py | 2 +- .../packages/kafkaopmon/package.py | 2 +- .../packages/lbrulibs/package.py | 2 +- .../packages/listrev/package.py | 2 +- .../packages/logging/package.py | 2 +- .../packages/minidaqapp/package.py | 2 +- .../packages/ndreadoutlibs/package.py | 2 +- .../packages/networkmanager/package.py | 2 +- .../packages/nwqueueadapters/package.py | 2 +- .../packages/opmonlib/package.py | 2 +- .../packages/rawdatautils/package.py | 2 +- .../packages/rcif/package.py | 2 +- .../packages/readout/package.py | 2 +- .../packages/readoutlibs/package.py | 2 +- .../packages/readoutmodules/package.py | 2 +- .../packages/restcmd/package.py | 2 +- .../packages/serialization/package.py | 2 +- .../packages/sspmodules/package.py | 2 +- .../packages/systems/package.py | 2 +- .../packages/timing/package.py | 2 +- .../packages/timinglibs/package.py | 2 +- .../packages/trigemu/package.py | 2 +- .../packages/trigger/package.py | 2 +- .../packages/triggeralgs/package.py | 2 +- .../packages/uhallibs/package.py | 2 +- .../packages/utilities/package.py | 2 +- .../packages/wibmod/package.py | 2 +- 51 files changed, 81 insertions(+), 52 deletions(-) diff --git a/scripts/spack/make-release-repo.py b/scripts/spack/make-release-repo.py index 3fbcc216a..3e58ed8e3 100755 --- a/scripts/spack/make-release-repo.py +++ b/scripts/spack/make-release-repo.py @@ -3,7 +3,9 @@ import os import yaml import argparse +import re import shutil +import sh import subprocess import tempfile @@ -99,6 +101,31 @@ def generate_repo_file(self, repo_path): f.write(repo_string) return + def generate_homepage_url(self, name, ver): + if re.search(r"^dunedaq-v[0-9]", ver): + ver_in_url = ver[len("dunedaq-"):] + official_doc_page = f"https://dune-daq-sw.readthedocs.io/en/{ver_in_url}/packages/{name}/" + else: + official_doc_page = f"https://dune-daq-sw.readthedocs.io/en/latest/packages/{name}/" + + try: + output = sh.curl(["--head", "--silent", "--fail", official_doc_page]) + if output.exit_code == 0: + return official_doc_page + except sh.ErrorReturnCode: + pass # OK, we'll try another URL + + github_page = f"https://github.com/DUNE-DAQ/{name}/" + + try: + output = sh.curl(["--head", "--silent", "--fail", github_page]) + if output.exit_code == 0: + return github_page + except sh.ErrorReturnCode: + # Now we give up + return "No official documentation page or even DUNE-DAQ GitHub page" + + def generate_daq_package(self, repo_path, template_dir): repo_dir = os.path.join(repo_path, "spack-repo", "packages") template_dir = os.path.join(template_dir, "packages") @@ -114,13 +141,15 @@ def generate_daq_package(self, repo_path, template_dir): else: lines = lines.replace("XVERSIONX", ipkg["version"]) lines = lines.replace("XHASHX", ipkg["commit"]) - # get commit hash + lines = lines.replace("XHOMEPAGEX", self.generate_homepage_url(ipkg["name"], self.rdict["release"])) + ipkg_dir = os.path.join(repo_dir, ipkg["name"]) os.makedirs(ipkg_dir) ipkgpy = os.path.join(ipkg_dir, "package.py") + with open(ipkgpy, 'w') as o: o.write(lines) - print(f"Info: package.py has been written at {ipkgpy}.") + print(f"Info: package.py has been written at {os.getcwd()}/{ipkgpy}.") return def generate_umbrella_package(self, repo_path, template_dir): diff --git a/spack-repos/release-repo-template/packages/appfwk/package.py b/spack-repos/release-repo-template/packages/appfwk/package.py index 8622d9193..d8394eb00 100644 --- a/spack-repos/release-repo-template/packages/appfwk/package.py +++ b/spack-repos/release-repo-template/packages/appfwk/package.py @@ -10,7 +10,7 @@ class Appfwk(CMakePackage): """Home of daq_application and tools for writing DAQ modules""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/appfwk/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/appfwk.git" maintainers = ["jcfreeman2"] diff --git a/spack-repos/release-repo-template/packages/cmdlib/package.py b/spack-repos/release-repo-template/packages/cmdlib/package.py index 8aa1100eb..dc4efdce4 100644 --- a/spack-repos/release-repo-template/packages/cmdlib/package.py +++ b/spack-repos/release-repo-template/packages/cmdlib/package.py @@ -10,7 +10,7 @@ class Cmdlib(CMakePackage): """Interfaces for commanded objects""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/cmdlib/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/cmdlib.git" maintainers = ['jcfreeman2'] diff --git a/spack-repos/release-repo-template/packages/daq-cmake/package.py b/spack-repos/release-repo-template/packages/daq-cmake/package.py index 7f45642da..6051c17a7 100644 --- a/spack-repos/release-repo-template/packages/daq-cmake/package.py +++ b/spack-repos/release-repo-template/packages/daq-cmake/package.py @@ -10,7 +10,7 @@ class DaqCmake(CMakePackage): """CMake support for DUNE-DAQ packages""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/daq-cmake/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/daq-cmake.git" maintainers = ["jcfreeman2"] diff --git a/spack-repos/release-repo-template/packages/daqconf/package.py b/spack-repos/release-repo-template/packages/daqconf/package.py index 44cdcc945..dd9998325 100644 --- a/spack-repos/release-repo-template/packages/daqconf/package.py +++ b/spack-repos/release-repo-template/packages/daqconf/package.py @@ -10,7 +10,7 @@ class Daqconf(CMakePackage): """Application to read out Felix data and store it in HDF5 files on disk""" - homepage = "https://github.com/DUNE-DAQ/daqconf" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/daqconf.git" maintainers = ["jcfreeman2"] diff --git a/spack-repos/release-repo-template/packages/daqdataformats/package.py b/spack-repos/release-repo-template/packages/daqdataformats/package.py index 724ba67c7..54f8c1e5f 100644 --- a/spack-repos/release-repo-template/packages/daqdataformats/package.py +++ b/spack-repos/release-repo-template/packages/daqdataformats/package.py @@ -10,7 +10,7 @@ class Daqdataformats(CMakePackage): """DUNE DAQ data formats""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/daqdataformats/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/daqdataformats.git" maintainers = ["jcfreeman2"] diff --git a/spack-repos/release-repo-template/packages/dataformats/package.py b/spack-repos/release-repo-template/packages/dataformats/package.py index ae62eefe2..fce555e55 100644 --- a/spack-repos/release-repo-template/packages/dataformats/package.py +++ b/spack-repos/release-repo-template/packages/dataformats/package.py @@ -10,7 +10,7 @@ class Dataformats(CMakePackage): """Raw data reinterpretation utilities""" - homepage = "https://dune-daq-sw.readthedocs.io/en/dunedaq-v2.8.0/packages/dataformats/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/dataformats.git" maintainers = ["jcfreeman2"] diff --git a/spack-repos/release-repo-template/packages/detchannelmaps/package.py b/spack-repos/release-repo-template/packages/detchannelmaps/package.py index 427842ab5..20c51e9a5 100644 --- a/spack-repos/release-repo-template/packages/detchannelmaps/package.py +++ b/spack-repos/release-repo-template/packages/detchannelmaps/package.py @@ -10,7 +10,7 @@ class Detchannelmaps(CMakePackage): """DUNE detectors channel maps""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/detchannelmaps/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/detchannelmaps.git" maintainers = ["jcfreeman2"] diff --git a/spack-repos/release-repo-template/packages/detdataformats/package.py b/spack-repos/release-repo-template/packages/detdataformats/package.py index 2482120a2..d0051820b 100644 --- a/spack-repos/release-repo-template/packages/detdataformats/package.py +++ b/spack-repos/release-repo-template/packages/detdataformats/package.py @@ -10,7 +10,7 @@ class Detdataformats(CMakePackage): """DUNE detectors data formats""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/detdataformats/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/detdataformats.git" maintainers = ["jcfreeman2"] diff --git a/spack-repos/release-repo-template/packages/devtools/package.py b/spack-repos/release-repo-template/packages/devtools/package.py index edc5eed96..567b5947f 100644 --- a/spack-repos/release-repo-template/packages/devtools/package.py +++ b/spack-repos/release-repo-template/packages/devtools/package.py @@ -10,7 +10,7 @@ class Devtools(BundlePackage): """The DUNE DAQ development tools""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/" + homepage = "XHOMEPAGEX" version("XRELEASEX") diff --git a/spack-repos/release-repo-template/packages/dfmessages/package.py b/spack-repos/release-repo-template/packages/dfmessages/package.py index 434e6de1a..f5739c78b 100644 --- a/spack-repos/release-repo-template/packages/dfmessages/package.py +++ b/spack-repos/release-repo-template/packages/dfmessages/package.py @@ -10,7 +10,7 @@ class Dfmessages(CMakePackage): """Dataflow messages""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/dfmessages/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/dfmessages.git" maintainers = ["jcfreeman2"] diff --git a/spack-repos/release-repo-template/packages/dfmodules/package.py b/spack-repos/release-repo-template/packages/dfmodules/package.py index 210e659c4..148ce02c3 100644 --- a/spack-repos/release-repo-template/packages/dfmodules/package.py +++ b/spack-repos/release-repo-template/packages/dfmodules/package.py @@ -10,7 +10,7 @@ class Dfmodules(CMakePackage): """Dataflow Applications""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/dfmodules/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/dfmodules.git" maintainers = ["jcfreeman2"] diff --git a/spack-repos/release-repo-template/packages/dqm/package.py b/spack-repos/release-repo-template/packages/dqm/package.py index adc9bc52a..62071064d 100644 --- a/spack-repos/release-repo-template/packages/dqm/package.py +++ b/spack-repos/release-repo-template/packages/dqm/package.py @@ -10,7 +10,7 @@ class Dqm(CMakePackage): """Software and tools for data monitoring""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/dqm/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/dqm.git" maintainers = ["jcfreeman2"] diff --git a/spack-repos/release-repo-template/packages/dtpcontrols/package.py b/spack-repos/release-repo-template/packages/dtpcontrols/package.py index 11cd80a71..833a8a014 100644 --- a/spack-repos/release-repo-template/packages/dtpcontrols/package.py +++ b/spack-repos/release-repo-template/packages/dtpcontrols/package.py @@ -10,7 +10,7 @@ class Dtpcontrols(CMakePackage): """Run Control related""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/dtpcontrols/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/dtpcontrols.git" maintainers = ["jcfreeman2"] diff --git a/spack-repos/release-repo-template/packages/dtpctrllibs/package.py b/spack-repos/release-repo-template/packages/dtpctrllibs/package.py index f44018b2d..5e1056e82 100644 --- a/spack-repos/release-repo-template/packages/dtpctrllibs/package.py +++ b/spack-repos/release-repo-template/packages/dtpctrllibs/package.py @@ -10,7 +10,7 @@ class Dtpctrllibs(CMakePackage): """DAQ modules for controlling DUNE Trigger Primitive generation firmware.""" - homepage = "https://github.com/DUNE-DAQ/dtpctrllibs" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/dtpctrllibs.git" maintainers = ["jcfreeman2"] diff --git a/spack-repos/release-repo-template/packages/dunedaq/package.py b/spack-repos/release-repo-template/packages/dunedaq/package.py index 8ce5f7a43..c2b682f54 100644 --- a/spack-repos/release-repo-template/packages/dunedaq/package.py +++ b/spack-repos/release-repo-template/packages/dunedaq/package.py @@ -10,7 +10,7 @@ class Dunedaq(BundlePackage): """A dummy package meant to pull in all the packages in the DUNE DAQ suite""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/" + homepage = "XHOMEPAGEX" version("XRELEASEX") diff --git a/spack-repos/release-repo-template/packages/ers/package.py b/spack-repos/release-repo-template/packages/ers/package.py index cdcccb8c0..ef58d3687 100644 --- a/spack-repos/release-repo-template/packages/ers/package.py +++ b/spack-repos/release-repo-template/packages/ers/package.py @@ -10,7 +10,7 @@ class Ers(CMakePackage): """A fork of the ATLAS Error Reporting System""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/ers/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/ers.git" maintainers = ["jcfreeman2"] diff --git a/spack-repos/release-repo-template/packages/erses/package.py b/spack-repos/release-repo-template/packages/erses/package.py index 282a63dcd..cb978477f 100644 --- a/spack-repos/release-repo-template/packages/erses/package.py +++ b/spack-repos/release-repo-template/packages/erses/package.py @@ -10,7 +10,7 @@ class Erses(CMakePackage): """Insert ERS messages into a searchable database""" - homepage = "https://dune-daq-sw.readthedocs.io/en/dunedaq-v2.8.0/packages/erses/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/erses.git" maintainers = ["jcfreeman2"] diff --git a/spack-repos/release-repo-template/packages/erskafka/package.py b/spack-repos/release-repo-template/packages/erskafka/package.py index 9cd5d9e71..f157305df 100644 --- a/spack-repos/release-repo-template/packages/erskafka/package.py +++ b/spack-repos/release-repo-template/packages/erskafka/package.py @@ -10,7 +10,7 @@ class Erskafka(CMakePackage): """The erskafka plugin""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/erskafka/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/erskafka.git" maintainers = ["jcfreeman2"] diff --git a/spack-repos/release-repo-template/packages/externals/package.py b/spack-repos/release-repo-template/packages/externals/package.py index 2f078952f..474fc3dea 100644 --- a/spack-repos/release-repo-template/packages/externals/package.py +++ b/spack-repos/release-repo-template/packages/externals/package.py @@ -10,7 +10,7 @@ class Externals(BundlePackage): """A dummy package meant to pull in packages needed by DUNE DAQ developers""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/" + homepage = "XHOMEPAGEX" version("XRELEASEX") diff --git a/spack-repos/release-repo-template/packages/fdreadoutlibs/package.py b/spack-repos/release-repo-template/packages/fdreadoutlibs/package.py index ff68b9524..ed02fb750 100644 --- a/spack-repos/release-repo-template/packages/fdreadoutlibs/package.py +++ b/spack-repos/release-repo-template/packages/fdreadoutlibs/package.py @@ -10,7 +10,7 @@ class Fdreadoutlibs(CMakePackage): """Classes for working with far detector data (WIB, SSP, etc.)""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/fdreadoutlibs/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/fdreadoutlibs.git" maintainers = ['jcfreeman2'] diff --git a/spack-repos/release-repo-template/packages/flxlibs/package.py b/spack-repos/release-repo-template/packages/flxlibs/package.py index 12226e32e..26a890ba5 100644 --- a/spack-repos/release-repo-template/packages/flxlibs/package.py +++ b/spack-repos/release-repo-template/packages/flxlibs/package.py @@ -10,7 +10,7 @@ class Flxlibs(CMakePackage): """DAQ modules, utilities, and scripts for Upstream FELIX Readout Software""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/flxlibs/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/flxlibs.git" maintainers = ["jcfreeman2"] diff --git a/spack-repos/release-repo-template/packages/hdf5libs/package.py b/spack-repos/release-repo-template/packages/hdf5libs/package.py index db862a7f5..951718e41 100644 --- a/spack-repos/release-repo-template/packages/hdf5libs/package.py +++ b/spack-repos/release-repo-template/packages/hdf5libs/package.py @@ -10,7 +10,7 @@ class Hdf5libs(CMakePackage): """FIXME: Put a proper description of your package here.""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/hdf5libs/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/hdf5libs.git" maintainers = ["jcfreeman2"] diff --git a/spack-repos/release-repo-template/packages/influxopmon/package.py b/spack-repos/release-repo-template/packages/influxopmon/package.py index 3e90f0ccc..eca3ab67e 100644 --- a/spack-repos/release-repo-template/packages/influxopmon/package.py +++ b/spack-repos/release-repo-template/packages/influxopmon/package.py @@ -10,7 +10,7 @@ class Influxopmon(CMakePackage): """Influx database based plugin for operational monitoring""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/influxopmon/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/influxopmon.git" maintainers = ["jcfreeman2"] diff --git a/spack-repos/release-repo-template/packages/ipm/package.py b/spack-repos/release-repo-template/packages/ipm/package.py index 4a97a26c5..ccde972de 100644 --- a/spack-repos/release-repo-template/packages/ipm/package.py +++ b/spack-repos/release-repo-template/packages/ipm/package.py @@ -10,7 +10,7 @@ class Ipm(CMakePackage): """Message passing between processes""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/ipm/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/ipm.git" maintainers = ["jcfreeman2"] diff --git a/spack-repos/release-repo-template/packages/kafkaopmon/package.py b/spack-repos/release-repo-template/packages/kafkaopmon/package.py index f053869f1..751c66805 100644 --- a/spack-repos/release-repo-template/packages/kafkaopmon/package.py +++ b/spack-repos/release-repo-template/packages/kafkaopmon/package.py @@ -10,7 +10,7 @@ class Kafkaopmon(CMakePackage): """Converts JSON objects into Kafka messages""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/kafkaopmon/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/kafkaopmon.git" maintainers = ["jcfreeman2"] diff --git a/spack-repos/release-repo-template/packages/lbrulibs/package.py b/spack-repos/release-repo-template/packages/lbrulibs/package.py index 7a277954e..4adf26490 100644 --- a/spack-repos/release-repo-template/packages/lbrulibs/package.py +++ b/spack-repos/release-repo-template/packages/lbrulibs/package.py @@ -10,7 +10,7 @@ class Lbrulibs(CMakePackage): """DAQ modules, utilities, and scripts for DUNE-ND Upstream DAQ Low Bandwidth Readout Unit""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/lbrulibs/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/lbrulibs.git" maintainers = ["jcfreeman2"] diff --git a/spack-repos/release-repo-template/packages/listrev/package.py b/spack-repos/release-repo-template/packages/listrev/package.py index 48d0a4140..0516f7ff2 100644 --- a/spack-repos/release-repo-template/packages/listrev/package.py +++ b/spack-repos/release-repo-template/packages/listrev/package.py @@ -11,7 +11,7 @@ class Listrev(CMakePackage): """Educational example of DAQ modules for new developers""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/listrev/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/listrev.git" maintainers = ["jcfreeman2"] diff --git a/spack-repos/release-repo-template/packages/logging/package.py b/spack-repos/release-repo-template/packages/logging/package.py index f9c48347f..4bc86a216 100644 --- a/spack-repos/release-repo-template/packages/logging/package.py +++ b/spack-repos/release-repo-template/packages/logging/package.py @@ -10,7 +10,7 @@ class Logging(CMakePackage): """Contains the functions DUNE DAQ packages use to output text""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/logging/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/logging.git" maintainers = ["jcfreeman2"] diff --git a/spack-repos/release-repo-template/packages/minidaqapp/package.py b/spack-repos/release-repo-template/packages/minidaqapp/package.py index 5142e449a..ce6f162ae 100644 --- a/spack-repos/release-repo-template/packages/minidaqapp/package.py +++ b/spack-repos/release-repo-template/packages/minidaqapp/package.py @@ -10,7 +10,7 @@ class Minidaqapp(CMakePackage): """Application to read out Felix data and store it in HDF5 files on disk""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/minidaqapp/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/minidaqapp.git" maintainers = ["jcfreeman2"] diff --git a/spack-repos/release-repo-template/packages/ndreadoutlibs/package.py b/spack-repos/release-repo-template/packages/ndreadoutlibs/package.py index 0fa2650e1..928827a4b 100644 --- a/spack-repos/release-repo-template/packages/ndreadoutlibs/package.py +++ b/spack-repos/release-repo-template/packages/ndreadoutlibs/package.py @@ -10,7 +10,7 @@ class Ndreadoutlibs(CMakePackage): """No documentation yet (Dec-11-2021)""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/ndreadoutlibs" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/ndreadoutlibs.git" maintainers = ['jcfreeman2'] diff --git a/spack-repos/release-repo-template/packages/networkmanager/package.py b/spack-repos/release-repo-template/packages/networkmanager/package.py index 8474b120d..0c5d896da 100644 --- a/spack-repos/release-repo-template/packages/networkmanager/package.py +++ b/spack-repos/release-repo-template/packages/networkmanager/package.py @@ -10,7 +10,7 @@ class Networkmanager(CMakePackage): """Provides an interface for performing network sends and receives directly from DAQ modules""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/networkmanager/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/networkmanager.git" maintainers = ['jcfreeman2'] diff --git a/spack-repos/release-repo-template/packages/nwqueueadapters/package.py b/spack-repos/release-repo-template/packages/nwqueueadapters/package.py index 9edffc326..6175f3abb 100644 --- a/spack-repos/release-repo-template/packages/nwqueueadapters/package.py +++ b/spack-repos/release-repo-template/packages/nwqueueadapters/package.py @@ -10,7 +10,7 @@ class Nwqueueadapters(CMakePackage): """DAQ modules that connect appfwk queues to IPM network connections""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/nwqueueadapters/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/nwqueueadapters.git" maintainers = ["jcfreeman2"] diff --git a/spack-repos/release-repo-template/packages/opmonlib/package.py b/spack-repos/release-repo-template/packages/opmonlib/package.py index 7dc854ada..a5896fc90 100644 --- a/spack-repos/release-repo-template/packages/opmonlib/package.py +++ b/spack-repos/release-repo-template/packages/opmonlib/package.py @@ -10,7 +10,7 @@ class Opmonlib(CMakePackage): """Operational monitoring library""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/opmonlib/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/opmonlib.git" maintainers = ['jcfreeman2'] diff --git a/spack-repos/release-repo-template/packages/rawdatautils/package.py b/spack-repos/release-repo-template/packages/rawdatautils/package.py index 8f0122b30..4b3a2c176 100644 --- a/spack-repos/release-repo-template/packages/rawdatautils/package.py +++ b/spack-repos/release-repo-template/packages/rawdatautils/package.py @@ -10,7 +10,7 @@ class Rawdatautils(CMakePackage): """Run Control related""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/rawdatautils/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/rawdatautils.git" maintainers = ["jcfreeman2"] diff --git a/spack-repos/release-repo-template/packages/rcif/package.py b/spack-repos/release-repo-template/packages/rcif/package.py index e130a0afe..fc8fac5cf 100644 --- a/spack-repos/release-repo-template/packages/rcif/package.py +++ b/spack-repos/release-repo-template/packages/rcif/package.py @@ -10,7 +10,7 @@ class Rcif(CMakePackage): """Run Control related""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/rcif/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/rcif.git" maintainers = ["jcfreeman2"] diff --git a/spack-repos/release-repo-template/packages/readout/package.py b/spack-repos/release-repo-template/packages/readout/package.py index e580abff9..1dfcbaff2 100644 --- a/spack-repos/release-repo-template/packages/readout/package.py +++ b/spack-repos/release-repo-template/packages/readout/package.py @@ -10,7 +10,7 @@ class Readout(CMakePackage): """Upstream DAQ readout, DAQ modules, CCM interface implementations""" - homepage = "https://dune-daq-sw.readthedocs.io/en/dunedaq-v2.8.0/packages/readout/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/readout.git" maintainers = ["jcfreeman2"] diff --git a/spack-repos/release-repo-template/packages/readoutlibs/package.py b/spack-repos/release-repo-template/packages/readoutlibs/package.py index 44dd7af43..fe1424a89 100644 --- a/spack-repos/release-repo-template/packages/readoutlibs/package.py +++ b/spack-repos/release-repo-template/packages/readoutlibs/package.py @@ -10,7 +10,7 @@ class Readoutlibs(CMakePackage): """Base classes for construction of readout-related DAQ modules""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/readoutlibs/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/readoutlibs.git" maintainers = ['jcfreeman2'] diff --git a/spack-repos/release-repo-template/packages/readoutmodules/package.py b/spack-repos/release-repo-template/packages/readoutmodules/package.py index fa518e5e8..9a2c1e049 100644 --- a/spack-repos/release-repo-template/packages/readoutmodules/package.py +++ b/spack-repos/release-repo-template/packages/readoutmodules/package.py @@ -10,7 +10,7 @@ class Readoutmodules(CMakePackage): """DAQ modules for constructing readout-focused processes""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/readoutmodules/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/readoutmodules.git" maintainers = ['jcfreeman2'] diff --git a/spack-repos/release-repo-template/packages/restcmd/package.py b/spack-repos/release-repo-template/packages/restcmd/package.py index a33edd3ee..e6d3d9cc4 100644 --- a/spack-repos/release-repo-template/packages/restcmd/package.py +++ b/spack-repos/release-repo-template/packages/restcmd/package.py @@ -10,7 +10,7 @@ class Restcmd(CMakePackage): """HTTP REST backend based CommandFacility""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/restcmd/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/restcmd.git" maintainers = ["jcfreeman2"] diff --git a/spack-repos/release-repo-template/packages/serialization/package.py b/spack-repos/release-repo-template/packages/serialization/package.py index 4a3bd9b02..054a8c4a4 100644 --- a/spack-repos/release-repo-template/packages/serialization/package.py +++ b/spack-repos/release-repo-template/packages/serialization/package.py @@ -10,7 +10,7 @@ class Serialization(CMakePackage): """Utilities for C++ object serialization/deserialization""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/serialization/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/serialization.git" maintainers = ["jcfreeman2"] diff --git a/spack-repos/release-repo-template/packages/sspmodules/package.py b/spack-repos/release-repo-template/packages/sspmodules/package.py index ca14b37bb..c51af9bce 100644 --- a/spack-repos/release-repo-template/packages/sspmodules/package.py +++ b/spack-repos/release-repo-template/packages/sspmodules/package.py @@ -10,7 +10,7 @@ class Sspmodules(CMakePackage): """SiPM Signal Processor (SSP) readout related modules and utilities""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/sspmodules/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/sspmodules.git" maintainers = ["jcfreeman2"] diff --git a/spack-repos/release-repo-template/packages/systems/package.py b/spack-repos/release-repo-template/packages/systems/package.py index b8102c53b..3ac4260a4 100644 --- a/spack-repos/release-repo-template/packages/systems/package.py +++ b/spack-repos/release-repo-template/packages/systems/package.py @@ -10,7 +10,7 @@ class Systems(BundlePackage): """The DUNE DAQ programming languages""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/" + homepage = "XHOMEPAGEX" version("XRELEASEX") diff --git a/spack-repos/release-repo-template/packages/timing/package.py b/spack-repos/release-repo-template/packages/timing/package.py index 912fa8fff..78b0b8947 100644 --- a/spack-repos/release-repo-template/packages/timing/package.py +++ b/spack-repos/release-repo-template/packages/timing/package.py @@ -10,7 +10,7 @@ class Timing(CMakePackage): """C++ interface to the timing firmware""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/timing/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/timing.git" maintainers = ["jcfreeman2"] diff --git a/spack-repos/release-repo-template/packages/timinglibs/package.py b/spack-repos/release-repo-template/packages/timinglibs/package.py index b3d0cf23e..e731b2d6e 100644 --- a/spack-repos/release-repo-template/packages/timinglibs/package.py +++ b/spack-repos/release-repo-template/packages/timinglibs/package.py @@ -10,7 +10,7 @@ class Timinglibs(CMakePackage): """Timing control and monitoring""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/timinglibs/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/timinglibs.git" maintainers = ["jcfreeman2"] diff --git a/spack-repos/release-repo-template/packages/trigemu/package.py b/spack-repos/release-repo-template/packages/trigemu/package.py index dcdc9c103..41977e761 100644 --- a/spack-repos/release-repo-template/packages/trigemu/package.py +++ b/spack-repos/release-repo-template/packages/trigemu/package.py @@ -10,7 +10,7 @@ class Trigemu(CMakePackage): """Trigger decision emulator for readout application tests""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/trigemu/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/trigemu.git" maintainers = ["jcfreeman2"] diff --git a/spack-repos/release-repo-template/packages/trigger/package.py b/spack-repos/release-repo-template/packages/trigger/package.py index c23a33374..8fb86e4ef 100644 --- a/spack-repos/release-repo-template/packages/trigger/package.py +++ b/spack-repos/release-repo-template/packages/trigger/package.py @@ -10,7 +10,7 @@ class Trigger(CMakePackage): """Modules that make up the DUNE FD DAQ trigger system""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/trigger/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/trigger.git" maintainers = ["jcfreeman2"] diff --git a/spack-repos/release-repo-template/packages/triggeralgs/package.py b/spack-repos/release-repo-template/packages/triggeralgs/package.py index c98294014..04a3f3464 100644 --- a/spack-repos/release-repo-template/packages/triggeralgs/package.py +++ b/spack-repos/release-repo-template/packages/triggeralgs/package.py @@ -10,7 +10,7 @@ class Triggeralgs(CMakePackage): """Trigger algorithms""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/triggeralgs/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/triggeralgs.git" maintainers = ["jcfreeman2"] diff --git a/spack-repos/release-repo-template/packages/uhallibs/package.py b/spack-repos/release-repo-template/packages/uhallibs/package.py index 0675b5941..1b33201e5 100644 --- a/spack-repos/release-repo-template/packages/uhallibs/package.py +++ b/spack-repos/release-repo-template/packages/uhallibs/package.py @@ -10,7 +10,7 @@ class Uhallibs(CMakePackage): """Run Control related""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/uhallibs" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/uhallibs.git" maintainers = ["jcfreeman2"] diff --git a/spack-repos/release-repo-template/packages/utilities/package.py b/spack-repos/release-repo-template/packages/utilities/package.py index d7b33bfe2..c4676d0ac 100644 --- a/spack-repos/release-repo-template/packages/utilities/package.py +++ b/spack-repos/release-repo-template/packages/utilities/package.py @@ -10,7 +10,7 @@ class Utilities(CMakePackage): """Self-explanatory""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/utilities/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/utilities.git" maintainers = ['jcfreeman2'] diff --git a/spack-repos/release-repo-template/packages/wibmod/package.py b/spack-repos/release-repo-template/packages/wibmod/package.py index d53c97ef5..cf15d99bc 100644 --- a/spack-repos/release-repo-template/packages/wibmod/package.py +++ b/spack-repos/release-repo-template/packages/wibmod/package.py @@ -10,7 +10,7 @@ class Wibmod(CMakePackage): """WIB configuration and monitoring interface for DUNE's appfwk""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/wibmod/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/wibmod.git" maintainers = ["jcfreeman2"] From 36dd3308ac23a29129029c95f59b28fdf0189e42 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 9 May 2022 16:34:57 +0000 Subject: [PATCH 04/20] JCF: Issue #129: make sure umbrella packages also get homepages set --- scripts/spack/make-release-repo.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/scripts/spack/make-release-repo.py b/scripts/spack/make-release-repo.py index 3e58ed8e3..7afe74259 100755 --- a/scripts/spack/make-release-repo.py +++ b/scripts/spack/make-release-repo.py @@ -122,9 +122,13 @@ def generate_homepage_url(self, name, ver): if output.exit_code == 0: return github_page except sh.ErrorReturnCode: - # Now we give up - return "No official documentation page or even DUNE-DAQ GitHub page" + pass + # We're probably dealing with an umbrella package if we've made it to this point + if re.search(r"^dunedaq-v[0-9]", ver): + return f"https://dune-daq-sw.readthedocs.io/en/{ver_in_url}/" + else: + return f"https://dune-daq-sw.readthedocs.io/en/latest/" def generate_daq_package(self, repo_path, template_dir): repo_dir = os.path.join(repo_path, "spack-repo", "packages") @@ -163,6 +167,7 @@ def generate_umbrella_package(self, repo_path, template_dir): with open(itemp, 'r') as f: lines = f.read() lines = lines.replace("XRELEASEX", self.rdict["release"]) + lines = lines.replace("XHOMEPAGEX", self.generate_homepage_url(ipkg, self.rdict["release"])) # now add additional deps: if ipkg == 'dunedaq': @@ -180,13 +185,14 @@ def generate_umbrella_package(self, repo_path, template_dir): if not self.rdict["release"].startswith("dunedaq"): iver = self.rdict["release"] lines += f'\n depends_on(f"{iname}@{iver} build_type={{build_type}}", when=f"build_type={{build_type}}")' + lines += '\n' ipkg_dir = os.path.join(repo_dir, ipkg) os.makedirs(ipkg_dir) ipkgpy = os.path.join(ipkg_dir, "package.py") with open(ipkgpy, 'w') as o: o.write(lines) - print(f"Info: package.py has been written at {ipkgpy}.") + print(f"Info: package.py has been written at {os.getcwd()}/{ipkgpy}.") return def generate_repo(self, outdir, tempdir, update_hash, release_name): From 96bd53c2d5b60fd4d63b0de857c68bc1b23c8232 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 9 May 2022 21:47:16 +0000 Subject: [PATCH 05/20] JCF: Issue #129: ensure daq-cmake is only a dependency of dunedaq when we're dealing with a developer installation --- scripts/spack/make-release-repo.py | 6 ++- .../packages/appfwk/#package.py# | 46 ------------------- 2 files changed, 5 insertions(+), 47 deletions(-) delete mode 100644 spack-repos/release-repo-template/packages/appfwk/#package.py# diff --git a/scripts/spack/make-release-repo.py b/scripts/spack/make-release-repo.py index 7afe74259..0d7343b9d 100755 --- a/scripts/spack/make-release-repo.py +++ b/scripts/spack/make-release-repo.py @@ -184,7 +184,11 @@ def generate_umbrella_package(self, repo_path, template_dir): else: if not self.rdict["release"].startswith("dunedaq"): iver = self.rdict["release"] - lines += f'\n depends_on(f"{iname}@{iver} build_type={{build_type}}", when=f"build_type={{build_type}}")' + + if iname == "daq-cmake": + lines += f'\n depends_on(f"{iname}@{iver} build_type={{build_type}}", when=f"build_type={{build_type}} +dev")' + else: + lines += f'\n depends_on(f"{iname}@{iver} build_type={{build_type}}", when=f"build_type={{build_type}}")' lines += '\n' ipkg_dir = os.path.join(repo_dir, ipkg) diff --git a/spack-repos/release-repo-template/packages/appfwk/#package.py# b/spack-repos/release-repo-template/packages/appfwk/#package.py# deleted file mode 100644 index 69d992765..000000000 --- a/spack-repos/release-repo-template/packages/appfwk/#package.py# +++ /dev/null @@ -1,46 +0,0 @@ -# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other -# Spack Project Developers. See the top-level COPYRIGHT file for details. -# -# SPDX-License-Identifier: (Apache-2.0 OR MIT) - - -from spack import * - - -class Appfwk(CMakePackage): - """Home of daq_application and tools for writing DAQ modules""" - - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/appfwk/" - git = "https://github.com/DUNE-DAQ/appfwk.git" - - maintainers = ["jcfreeman2"] - - version("XVERSIONX", commit="XHASHX") - - - depends_on('daq-cmake', type='build') - depends_on('logging') - depends_on('cetlib') - depends_on('ers') - depends_on('cmdlib') - depends_on('rcif') - depends_on('networkmanager') - depends_on('opmonlib') - - depends_on('folly cxxstd=17') - depends_on('nlohmann-json') - depends_on('py-moo', type='run') - depends_on('boost' ) - - # DBT_DEBUG is used by daq-cmake to set compiler options - def cmake_args(self): - if str(self.spec.variants['build_type']) == "build_type=Debug": - return ["-DDBT_DEBUG=true"] - else: - return ["-DDBT_DEBUG=false"] - - def setup_run_environment(self, env): - env.set(self.__module__.split(".")[-1].upper().replace("-", "_") + "_SHARE", self.prefix + "/share" ) - env.prepend_path("DUNEDAQ_SHARE_PATH", self.prefix + "/share") - env.prepend_path('CET_PLUGIN_PATH', self.prefix.lib + "64") - env.prepend_path("PYTHONPATH", self.prefix.lib + "64/python") From 3943f0d89a50d7c24cc03f85028aa68aba642f47 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 9 May 2022 21:50:50 +0000 Subject: [PATCH 06/20] JCF: Issue #129: add the new +dev variant of the dunedaq umbrella package, which lets you choose whether you want to include developer tools (daq-cmake, cmake, etc.) --- .../packages/daqdataformats/package.py | 1 - .../packages/detchannelmaps/package.py | 1 - .../packages/detdataformats/package.py | 1 - .../release-repo-template/packages/devtools/package.py | 2 +- .../release-repo-template/packages/dtpcontrols/package.py | 1 - .../release-repo-template/packages/dunedaq/package.py | 7 +++++-- .../release-repo-template/packages/erses/package.py | 1 - .../release-repo-template/packages/externals/package.py | 6 ++++-- .../packages/fdreadoutlibs/package.py | 1 - .../release-repo-template/packages/kafkaopmon/package.py | 1 - .../release-repo-template/packages/minidaqapp/package.py | 1 - .../packages/ndreadoutlibs/package.py | 1 - .../release-repo-template/packages/rawdatautils/package.py | 1 - .../release-repo-template/packages/readout/package.py | 1 - .../release-repo-template/packages/uhallibs/package.py | 1 - .../release-repo-template/packages/utilities/package.py | 1 - 16 files changed, 10 insertions(+), 18 deletions(-) diff --git a/spack-repos/release-repo-template/packages/daqdataformats/package.py b/spack-repos/release-repo-template/packages/daqdataformats/package.py index 54f8c1e5f..b7c81d938 100644 --- a/spack-repos/release-repo-template/packages/daqdataformats/package.py +++ b/spack-repos/release-repo-template/packages/daqdataformats/package.py @@ -19,7 +19,6 @@ class Daqdataformats(CMakePackage): depends_on("daq-cmake", type="build") depends_on('boost', type='build' ) - depends_on('py-moo', type='build') # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): diff --git a/spack-repos/release-repo-template/packages/detchannelmaps/package.py b/spack-repos/release-repo-template/packages/detchannelmaps/package.py index 20c51e9a5..d3c11c817 100644 --- a/spack-repos/release-repo-template/packages/detchannelmaps/package.py +++ b/spack-repos/release-repo-template/packages/detchannelmaps/package.py @@ -21,7 +21,6 @@ class Detchannelmaps(CMakePackage): depends_on("cetlib") depends_on("logging") depends_on("ers") - depends_on('py-moo', type='build') # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): diff --git a/spack-repos/release-repo-template/packages/detdataformats/package.py b/spack-repos/release-repo-template/packages/detdataformats/package.py index d0051820b..6b8463101 100644 --- a/spack-repos/release-repo-template/packages/detdataformats/package.py +++ b/spack-repos/release-repo-template/packages/detdataformats/package.py @@ -19,7 +19,6 @@ class Detdataformats(CMakePackage): depends_on("daq-cmake", type="build") depends_on("boost", type="build") - depends_on('py-moo', type='build') # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): diff --git a/spack-repos/release-repo-template/packages/devtools/package.py b/spack-repos/release-repo-template/packages/devtools/package.py index 567b5947f..610116d11 100644 --- a/spack-repos/release-repo-template/packages/devtools/package.py +++ b/spack-repos/release-repo-template/packages/devtools/package.py @@ -8,7 +8,7 @@ class Devtools(BundlePackage): - """The DUNE DAQ development tools""" + """An umbrella package which pulls in the DUNE DAQ development tools""" homepage = "XHOMEPAGEX" diff --git a/spack-repos/release-repo-template/packages/dtpcontrols/package.py b/spack-repos/release-repo-template/packages/dtpcontrols/package.py index 833a8a014..fca34e68c 100644 --- a/spack-repos/release-repo-template/packages/dtpcontrols/package.py +++ b/spack-repos/release-repo-template/packages/dtpcontrols/package.py @@ -24,7 +24,6 @@ class Dtpcontrols(CMakePackage): depends_on("uhallibs") depends_on("boost") - depends_on("py-moo", type='build') # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): diff --git a/spack-repos/release-repo-template/packages/dunedaq/package.py b/spack-repos/release-repo-template/packages/dunedaq/package.py index c2b682f54..c2e1d82e0 100644 --- a/spack-repos/release-repo-template/packages/dunedaq/package.py +++ b/spack-repos/release-repo-template/packages/dunedaq/package.py @@ -8,7 +8,7 @@ class Dunedaq(BundlePackage): - """A dummy package meant to pull in all the packages in the DUNE DAQ suite""" + """An umbrella package meant to pull in all the packages in the DUNE DAQ suite""" homepage = "XHOMEPAGEX" @@ -19,7 +19,10 @@ class Dunedaq(BundlePackage): values=('Debug', 'Release', 'RelWithDebInfo'), multi=True) - depends_on("externals@XRELEASEX", when="@XRELEASEX") + variant('dev', default=False, description='Load in tools used to develop DUNE DAQ packages') + + depends_on("externals@XRELEASEX +dev", when="@XRELEASEX +dev") + depends_on("externals@XRELEASEX ~dev", when="@XRELEASEX ~dev") def setup_run_environment(self, env): env.set('DUNE_DAQ_BASE_RELEASE', "XRELEASEX") diff --git a/spack-repos/release-repo-template/packages/erses/package.py b/spack-repos/release-repo-template/packages/erses/package.py index cb978477f..1439af5c4 100644 --- a/spack-repos/release-repo-template/packages/erses/package.py +++ b/spack-repos/release-repo-template/packages/erses/package.py @@ -24,7 +24,6 @@ class Erses(CMakePackage): depends_on("nlohmann-json") - depends_on('py-moo', type='build') # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): diff --git a/spack-repos/release-repo-template/packages/externals/package.py b/spack-repos/release-repo-template/packages/externals/package.py index 474fc3dea..e34c4f4a3 100644 --- a/spack-repos/release-repo-template/packages/externals/package.py +++ b/spack-repos/release-repo-template/packages/externals/package.py @@ -8,12 +8,14 @@ class Externals(BundlePackage): - """A dummy package meant to pull in packages needed by DUNE DAQ developers""" + """An umbrella package meant to pull in non-DUNE packages needed by DUNE packages""" homepage = "XHOMEPAGEX" version("XRELEASEX") + variant('dev', default=False, description='Load in tools used to develop DUNE DAQ packages') + # Generate from release YAML file - depends_on("devtools@XRELEASEX") + depends_on("devtools@XRELEASEX", when="+dev") # Additional dependencies defined in YAML file to be filled below diff --git a/spack-repos/release-repo-template/packages/fdreadoutlibs/package.py b/spack-repos/release-repo-template/packages/fdreadoutlibs/package.py index ed02fb750..a657a38a7 100644 --- a/spack-repos/release-repo-template/packages/fdreadoutlibs/package.py +++ b/spack-repos/release-repo-template/packages/fdreadoutlibs/package.py @@ -30,7 +30,6 @@ class Fdreadoutlibs(CMakePackage): depends_on("boost") depends_on("daq-cmake", type="build") - depends_on("py-moo", type='build') # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): diff --git a/spack-repos/release-repo-template/packages/kafkaopmon/package.py b/spack-repos/release-repo-template/packages/kafkaopmon/package.py index 751c66805..075f31de5 100644 --- a/spack-repos/release-repo-template/packages/kafkaopmon/package.py +++ b/spack-repos/release-repo-template/packages/kafkaopmon/package.py @@ -27,7 +27,6 @@ class Kafkaopmon(CMakePackage): depends_on("openssl") depends_on("krb5") depends_on("boost") - depends_on('py-moo', type='build') # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): diff --git a/spack-repos/release-repo-template/packages/minidaqapp/package.py b/spack-repos/release-repo-template/packages/minidaqapp/package.py index ce6f162ae..14b1c8a9e 100644 --- a/spack-repos/release-repo-template/packages/minidaqapp/package.py +++ b/spack-repos/release-repo-template/packages/minidaqapp/package.py @@ -19,7 +19,6 @@ class Minidaqapp(CMakePackage): depends_on("daq-cmake", type="build") - depends_on("py-moo", type='build') # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): diff --git a/spack-repos/release-repo-template/packages/ndreadoutlibs/package.py b/spack-repos/release-repo-template/packages/ndreadoutlibs/package.py index 928827a4b..35faa0f29 100644 --- a/spack-repos/release-repo-template/packages/ndreadoutlibs/package.py +++ b/spack-repos/release-repo-template/packages/ndreadoutlibs/package.py @@ -28,7 +28,6 @@ class Ndreadoutlibs(CMakePackage): depends_on("boost") depends_on("daq-cmake", type="build") - depends_on("py-moo", type='build') # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): diff --git a/spack-repos/release-repo-template/packages/rawdatautils/package.py b/spack-repos/release-repo-template/packages/rawdatautils/package.py index 4b3a2c176..41f106846 100644 --- a/spack-repos/release-repo-template/packages/rawdatautils/package.py +++ b/spack-repos/release-repo-template/packages/rawdatautils/package.py @@ -22,7 +22,6 @@ class Rawdatautils(CMakePackage): depends_on("detdataformats") depends_on("boost", type="build") - depends_on("py-moo", type='build') # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): diff --git a/spack-repos/release-repo-template/packages/readout/package.py b/spack-repos/release-repo-template/packages/readout/package.py index 1dfcbaff2..f88aaeb1e 100644 --- a/spack-repos/release-repo-template/packages/readout/package.py +++ b/spack-repos/release-repo-template/packages/readout/package.py @@ -33,7 +33,6 @@ class Readout(CMakePackage): depends_on("logging") depends_on('boost') - depends_on("py-moo", type='build') diff --git a/spack-repos/release-repo-template/packages/uhallibs/package.py b/spack-repos/release-repo-template/packages/uhallibs/package.py index 1b33201e5..f666c54d6 100644 --- a/spack-repos/release-repo-template/packages/uhallibs/package.py +++ b/spack-repos/release-repo-template/packages/uhallibs/package.py @@ -22,7 +22,6 @@ class Uhallibs(CMakePackage): depends_on("uhal") depends_on("boost") - depends_on("py-moo", type='build') # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): diff --git a/spack-repos/release-repo-template/packages/utilities/package.py b/spack-repos/release-repo-template/packages/utilities/package.py index c4676d0ac..a68851d11 100644 --- a/spack-repos/release-repo-template/packages/utilities/package.py +++ b/spack-repos/release-repo-template/packages/utilities/package.py @@ -22,7 +22,6 @@ class Utilities(CMakePackage): depends_on("boost") depends_on("ers") - depends_on("py-moo", type='build') depends_on("daq-cmake", type="build") # DBT_DEBUG is used by daq-cmake to set compiler options From a6901f19b94fc1358bae803f8626c93d88ebc43e Mon Sep 17 00:00:00 2001 From: root Date: Wed, 11 May 2022 16:04:50 +0000 Subject: [PATCH 07/20] JCF: Issue #129: since the get_moo_model_path function in daq-cmake is needed when generating configs, come up with a ~dev version of daq-cmake which can still provide this while not bringing in its dependencies --- scripts/spack/make-release-repo.py | 3 ++- .../release-repo-template/packages/daq-cmake/package.py | 8 +++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/scripts/spack/make-release-repo.py b/scripts/spack/make-release-repo.py index 0d7343b9d..32595634b 100755 --- a/scripts/spack/make-release-repo.py +++ b/scripts/spack/make-release-repo.py @@ -186,7 +186,8 @@ def generate_umbrella_package(self, repo_path, template_dir): iver = self.rdict["release"] if iname == "daq-cmake": - lines += f'\n depends_on(f"{iname}@{iver} build_type={{build_type}}", when=f"build_type={{build_type}} +dev")' + lines += f'\n depends_on(f"{iname}@{iver}+dev build_type={{build_type}}", when=f"build_type={{build_type}} +dev")' + lines += f'\n depends_on(f"{iname}@{iver}~dev build_type={{build_type}}", when=f"build_type={{build_type}} ~dev")' else: lines += f'\n depends_on(f"{iname}@{iver} build_type={{build_type}}", when=f"build_type={{build_type}}")' diff --git a/spack-repos/release-repo-template/packages/daq-cmake/package.py b/spack-repos/release-repo-template/packages/daq-cmake/package.py index 6051c17a7..963da95fc 100644 --- a/spack-repos/release-repo-template/packages/daq-cmake/package.py +++ b/spack-repos/release-repo-template/packages/daq-cmake/package.py @@ -17,9 +17,11 @@ class DaqCmake(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on("py-pybind11", type=("run")) - depends_on("py-moo", type=("run")) - depends_on("cmake") + variant('dev', default=True, description='Load in tools used to develop DUNE DAQ packages') + + depends_on("py-pybind11", type=("run"), when="+dev") + depends_on("py-moo", type=("run"), when="+dev") + depends_on("cmake", when="+dev") # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): From 342da79476fdf27e4eac93b73c7db77b7273b67b Mon Sep 17 00:00:00 2001 From: root Date: Wed, 11 May 2022 19:12:18 +0000 Subject: [PATCH 08/20] JCF: Issue #129: beef up the daq-cmake dependencies to ensure a ~dev installation of dunedaq will work --- .../release-repo-template/packages/daq-cmake/package.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/spack-repos/release-repo-template/packages/daq-cmake/package.py b/spack-repos/release-repo-template/packages/daq-cmake/package.py index 963da95fc..92909fc3e 100644 --- a/spack-repos/release-repo-template/packages/daq-cmake/package.py +++ b/spack-repos/release-repo-template/packages/daq-cmake/package.py @@ -19,9 +19,9 @@ class DaqCmake(CMakePackage): variant('dev', default=True, description='Load in tools used to develop DUNE DAQ packages') - depends_on("py-pybind11", type=("run"), when="+dev") - depends_on("py-moo", type=("run"), when="+dev") - depends_on("cmake", when="+dev") + depends_on("py-pybind11", type=("link", "run"), when="+dev") + depends_on("py-moo", type=("link", "run"), when="+dev") + depends_on("cmake", type=("build", "link", "run"), when="+dev") # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): From 9e99862da2907f5b5074a69d9de7ebbf7b64a612 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 17 May 2022 17:44:03 +0000 Subject: [PATCH 09/20] JCF: Issue #129: generate homepages via subprocess.Popen rather than the possibly-unavailable sh module --- scripts/spack/make-release-repo.py | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/scripts/spack/make-release-repo.py b/scripts/spack/make-release-repo.py index 1d1a61a15..d65ddfebd 100755 --- a/scripts/spack/make-release-repo.py +++ b/scripts/spack/make-release-repo.py @@ -5,7 +5,6 @@ import argparse import re import shutil -import sh import subprocess import tempfile @@ -104,21 +103,21 @@ def generate_homepage_url(self, name, ver): else: official_doc_page = f"https://dune-daq-sw.readthedocs.io/en/latest/packages/{name}/" - try: - output = sh.curl(["--head", "--silent", "--fail", official_doc_page]) - if output.exit_code == 0: - return official_doc_page - except sh.ErrorReturnCode: - pass # OK, we'll try another URL + irun = subprocess.Popen(f"curl --head --silent --fail {official_doc_page}" , shell=True, stdout=subprocess.PIPE) + out = irun.communicate() + retval = irun.returncode + + if retval == 0: + return official_doc_page github_page = f"https://github.com/DUNE-DAQ/{name}/" - try: - output = sh.curl(["--head", "--silent", "--fail", github_page]) - if output.exit_code == 0: - return github_page - except sh.ErrorReturnCode: - pass + irun = subprocess.Popen(f"curl --head --silent --fail {github_page}" , shell=True, stdout=subprocess.PIPE) + out = irun.communicate() + retval = irun.returncode + + if retval == 0: + return github_page # We're probably dealing with an umbrella package if we've made it to this point if re.search(r"^dunedaq-v[0-9]", ver): From 8dec0df8a4d381385b5eb82f87b6abe3367d6225 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 17 May 2022 17:58:49 +0000 Subject: [PATCH 10/20] JCF: Issue #129: at least for now, remove the concept of a +dev/~dev variant of daq-cmake --- scripts/spack/make-release-repo.py | 6 +----- .../release-repo-template/packages/daq-cmake/package.py | 8 +++----- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/scripts/spack/make-release-repo.py b/scripts/spack/make-release-repo.py index d65ddfebd..60ecc6bd6 100755 --- a/scripts/spack/make-release-repo.py +++ b/scripts/spack/make-release-repo.py @@ -180,11 +180,7 @@ def generate_umbrella_package(self, repo_path, template_dir): if not self.rdict["release"].startswith("dunedaq"): iver = self.rdict["release"] - if iname == "daq-cmake": - lines += f'\n depends_on(f"{iname}@{iver}+dev build_type={{build_type}}", when=f"build_type={{build_type}} +dev")' - lines += f'\n depends_on(f"{iname}@{iver}~dev build_type={{build_type}}", when=f"build_type={{build_type}} ~dev")' - else: - lines += f'\n depends_on(f"{iname}@{iver} build_type={{build_type}}", when=f"build_type={{build_type}}")' + lines += f'\n depends_on(f"{iname}@{iver} build_type={{build_type}}", when=f"build_type={{build_type}}")' lines += '\n' ipkg_dir = os.path.join(repo_dir, ipkg) diff --git a/spack-repos/release-repo-template/packages/daq-cmake/package.py b/spack-repos/release-repo-template/packages/daq-cmake/package.py index 92909fc3e..1540afc1b 100644 --- a/spack-repos/release-repo-template/packages/daq-cmake/package.py +++ b/spack-repos/release-repo-template/packages/daq-cmake/package.py @@ -17,11 +17,9 @@ class DaqCmake(CMakePackage): version("XVERSIONX", commit="XHASHX") - variant('dev', default=True, description='Load in tools used to develop DUNE DAQ packages') - - depends_on("py-pybind11", type=("link", "run"), when="+dev") - depends_on("py-moo", type=("link", "run"), when="+dev") - depends_on("cmake", type=("build", "link", "run"), when="+dev") + depends_on("py-pybind11", type=("link", "run")) + depends_on("py-moo", type=("link", "run")) + depends_on("cmake", type=("build", "link", "run")) # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): From aa00dd0cc49670f517c700e9c4963fbd1efd7767 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 17 May 2022 18:36:10 +0000 Subject: [PATCH 11/20] JCF: Issue #129: cyrus-sasl was originally needed on the epdtdi build machines at CERN, but is now part of the standard docker installation --- .../externals/packages/cyrus-sasl/package.py | 26 ------------------- .../packages/dqm/package.py | 1 - .../packages/erskafka/package.py | 1 - .../packages/kafkaopmon/package.py | 1 - 4 files changed, 29 deletions(-) delete mode 100644 spack-repos/externals/packages/cyrus-sasl/package.py diff --git a/spack-repos/externals/packages/cyrus-sasl/package.py b/spack-repos/externals/packages/cyrus-sasl/package.py deleted file mode 100644 index 799cc0e24..000000000 --- a/spack-repos/externals/packages/cyrus-sasl/package.py +++ /dev/null @@ -1,26 +0,0 @@ -# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other -# Spack Project Developers. See the top-level COPYRIGHT file for details. -# -# SPDX-License-Identifier: (Apache-2.0 OR MIT) - -from spack import * - - -class CyrusSasl(AutotoolsPackage): - """This is the Cyrus SASL API implementation. It can be used on the - client or server side to provide authentication and authorization - services.""" - - homepage = "https://github.com/cyrusimap/cyrus-sasl" - url = "https://github.com/cyrusimap/cyrus-sasl/archive/cyrus-sasl-2.1.27.tar.gz" - - version('2.1.27', sha256='b564d773803dc4cff42d2bdc04c80f2b105897a724c247817d4e4a99dd6b9976') - version('2.1.26', sha256='7c14d1b5bd1434adf2dd79f70538617e6aa2a7bde447454b90b84ac5c4d034ba') - version('2.1.25', sha256='8bfd4fa4def54c760e5061f2a74c278384c3b9807f02c4b07dab68b5894cc7c1') - version('2.1.24', sha256='1df15c492f7ecb90be49531a347b3df21b041c2e0325dcc4fc5a6e98384c40dd') - version('2.1.23', sha256='b1ec43f62d68446a6a5879925c63d94e26089c5a46cd83e061dd685d014c7d1f') - - depends_on('m4', type='build') - depends_on('autoconf', type='build') - depends_on('automake', type='build') - depends_on('libtool', type='build') diff --git a/spack-repos/release-repo-template/packages/dqm/package.py b/spack-repos/release-repo-template/packages/dqm/package.py index dea1ba0cf..b1dbd3641 100644 --- a/spack-repos/release-repo-template/packages/dqm/package.py +++ b/spack-repos/release-repo-template/packages/dqm/package.py @@ -32,7 +32,6 @@ class Dqm(CMakePackage): depends_on("openssl") depends_on("krb5") - depends_on("cyrus-sasl") # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): diff --git a/spack-repos/release-repo-template/packages/erskafka/package.py b/spack-repos/release-repo-template/packages/erskafka/package.py index f157305df..20bce8b1a 100644 --- a/spack-repos/release-repo-template/packages/erskafka/package.py +++ b/spack-repos/release-repo-template/packages/erskafka/package.py @@ -23,7 +23,6 @@ class Erskafka(CMakePackage): depends_on('boost' ) depends_on("openssl") - depends_on("cyrus-sasl") depends_on("nlohmann-json") # DBT_DEBUG is used by daq-cmake to set compiler options diff --git a/spack-repos/release-repo-template/packages/kafkaopmon/package.py b/spack-repos/release-repo-template/packages/kafkaopmon/package.py index 075f31de5..070c5476b 100644 --- a/spack-repos/release-repo-template/packages/kafkaopmon/package.py +++ b/spack-repos/release-repo-template/packages/kafkaopmon/package.py @@ -21,7 +21,6 @@ class Kafkaopmon(CMakePackage): depends_on("opmonlib") depends_on("cpr") depends_on("curl") - depends_on("cyrus-sasl") depends_on("librdkafka") depends_on("ers") depends_on("openssl") From 052b18b02843a9933ec038d7d2fb3b509ae2ac50 Mon Sep 17 00:00:00 2001 From: John Freeman Date: Wed, 18 May 2022 14:16:34 -0500 Subject: [PATCH 12/20] JCF: Issue #129: modify depends_on calls in trigger's package.py to reflect updated dependencies --- spack-repos/release-repo-template/packages/trigger/package.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/spack-repos/release-repo-template/packages/trigger/package.py b/spack-repos/release-repo-template/packages/trigger/package.py index 4a2d4390a..0fc4e3e7c 100644 --- a/spack-repos/release-repo-template/packages/trigger/package.py +++ b/spack-repos/release-repo-template/packages/trigger/package.py @@ -19,7 +19,7 @@ class Trigger(CMakePackage): depends_on("daq-cmake", type="build") depends_on("ers") - depends_on('boost', type='build' ) + depends_on('boost') depends_on("serialization") depends_on("logging") depends_on("appfwk") @@ -33,6 +33,7 @@ class Trigger(CMakePackage): depends_on("detchannelmaps") depends_on("hdf5libs") depends_on("cli11") + depends_on("readoutlibs") depends_on("py-moo", type='run') # DBT_DEBUG is used by daq-cmake to set compiler options From 349a28fc2f81d1652e2e2a083459a8b128a82e5c Mon Sep 17 00:00:00 2001 From: root Date: Wed, 17 Aug 2022 22:35:17 +0000 Subject: [PATCH 13/20] JCF: Issue #129: bring a couple of package.pys up-to-date wrt reduced dependencies --- .../release-repo-template/packages/ctbmodules/package.py | 6 +++--- .../release-repo-template/packages/iomanager/package.py | 5 ++--- spack-repos/release-repo-template/packages/ipm/package.py | 1 - 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/spack-repos/release-repo-template/packages/ctbmodules/package.py b/spack-repos/release-repo-template/packages/ctbmodules/package.py index 42af248fd..ca08e4692 100644 --- a/spack-repos/release-repo-template/packages/ctbmodules/package.py +++ b/spack-repos/release-repo-template/packages/ctbmodules/package.py @@ -10,21 +10,21 @@ class Ctbmodules(CMakePackage): """Control modules for the Central Trigger Board""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/ctbmodules/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/ctbmodules.git" maintainers = ["jcfreeman2"] version("XVERSIONX", commit="XHASHX") - depends_on("daq-cmake") + depends_on("daq-cmake", type="build") depends_on("rcif") depends_on("appfwk") depends_on("opmonlib") depends_on("logging") depends_on("ers") - depends_on("py-moo", type='build') + depends_on("py-moo", type='run') # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): diff --git a/spack-repos/release-repo-template/packages/iomanager/package.py b/spack-repos/release-repo-template/packages/iomanager/package.py index bbfe4b564..73020e28a 100644 --- a/spack-repos/release-repo-template/packages/iomanager/package.py +++ b/spack-repos/release-repo-template/packages/iomanager/package.py @@ -10,22 +10,21 @@ class Iomanager(CMakePackage): """Package providing a unified API""" - homepage = "https://dune-daq-sw.readthedocs.io/en/latest/packages/iomanager/" + homepage = "XHOMEPAGEX" git = "https://github.com/DUNE-DAQ/iomanager.git" maintainers = ["jcfreeman2"] version("XVERSIONX", commit="XHASHX") + depends_on("daq-cmake", type = "build") depends_on("ipm") depends_on("opmonlib") depends_on('folly cxxstd=17') depends_on("serialization") depends_on("utilities") - depends_on("daq-cmake") depends_on("boost") - depends_on('py-moo', type='build') # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): diff --git a/spack-repos/release-repo-template/packages/ipm/package.py b/spack-repos/release-repo-template/packages/ipm/package.py index 701019d19..8f5e301d8 100644 --- a/spack-repos/release-repo-template/packages/ipm/package.py +++ b/spack-repos/release-repo-template/packages/ipm/package.py @@ -26,7 +26,6 @@ class Ipm(CMakePackage): depends_on("opmonlib") depends_on("cppzmq") - depends_on('py-moo', type='build') depends_on("nlohmann-json") # DBT_DEBUG is used by daq-cmake to set compiler options From f13fb797ea2580549414f68f240c30235603cc2d Mon Sep 17 00:00:00 2001 From: John Freeman Date: Thu, 18 Aug 2022 14:54:45 -0500 Subject: [PATCH 14/20] JCF: Issue #129: ensure that packages needed for daq-cmake's build functions (daq_add_python_bindings, etc.) only depend on daq-cmake in the build phase --- .../release-repo-template/packages/daq-cmake/package.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/spack-repos/release-repo-template/packages/daq-cmake/package.py b/spack-repos/release-repo-template/packages/daq-cmake/package.py index 1540afc1b..659380a9e 100644 --- a/spack-repos/release-repo-template/packages/daq-cmake/package.py +++ b/spack-repos/release-repo-template/packages/daq-cmake/package.py @@ -17,9 +17,9 @@ class DaqCmake(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on("py-pybind11", type=("link", "run")) - depends_on("py-moo", type=("link", "run")) - depends_on("cmake", type=("build", "link", "run")) + depends_on("py-pybind11", type=("build")) + depends_on("py-moo", type=("build")) + depends_on("cmake", type=("build")) # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): From 913e3a6dd9c57ac9e5052feff3f24039a65508fa Mon Sep 17 00:00:00 2001 From: John Freeman Date: Thu, 18 Aug 2022 15:08:25 -0500 Subject: [PATCH 15/20] JCF: Issue #129: add run-time dependency on daq-cmake for its get_moo_model_path function where necessary --- spack-repos/release-repo-template/packages/appfwk/package.py | 2 +- spack-repos/release-repo-template/packages/daqconf/package.py | 2 +- .../release-repo-template/packages/dfmodules/package.py | 2 +- spack-repos/release-repo-template/packages/dqm/package.py | 2 +- .../release-repo-template/packages/dtpctrllibs/package.py | 2 +- spack-repos/release-repo-template/packages/flxlibs/package.py | 2 +- spack-repos/release-repo-template/packages/lbrulibs/package.py | 2 +- spack-repos/release-repo-template/packages/listrev/package.py | 2 +- .../release-repo-template/packages/readoutmodules/package.py | 3 +-- .../release-repo-template/packages/timinglibs/package.py | 2 +- spack-repos/release-repo-template/packages/trigger/package.py | 2 +- spack-repos/release-repo-template/packages/wibmod/package.py | 2 +- 12 files changed, 12 insertions(+), 13 deletions(-) diff --git a/spack-repos/release-repo-template/packages/appfwk/package.py b/spack-repos/release-repo-template/packages/appfwk/package.py index d946859b6..124500ce6 100644 --- a/spack-repos/release-repo-template/packages/appfwk/package.py +++ b/spack-repos/release-repo-template/packages/appfwk/package.py @@ -18,7 +18,7 @@ class Appfwk(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on('daq-cmake', type='build') + depends_on('daq-cmake', type=('build', 'run')) depends_on('logging') depends_on('cetlib') depends_on('ers') diff --git a/spack-repos/release-repo-template/packages/daqconf/package.py b/spack-repos/release-repo-template/packages/daqconf/package.py index dd9998325..de3e82768 100644 --- a/spack-repos/release-repo-template/packages/daqconf/package.py +++ b/spack-repos/release-repo-template/packages/daqconf/package.py @@ -17,7 +17,7 @@ class Daqconf(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on("daq-cmake", type="build") + depends_on("daq-cmake", type=("build", "run")) depends_on("py-moo", type='run') # DBT_DEBUG is used by daq-cmake to set compiler options diff --git a/spack-repos/release-repo-template/packages/dfmodules/package.py b/spack-repos/release-repo-template/packages/dfmodules/package.py index f0e1eed12..e69700dbf 100644 --- a/spack-repos/release-repo-template/packages/dfmodules/package.py +++ b/spack-repos/release-repo-template/packages/dfmodules/package.py @@ -18,7 +18,7 @@ class Dfmodules(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on("daq-cmake", type="build") + depends_on("daq-cmake", type=("build", "run")) depends_on("appfwk") depends_on("logging") depends_on("ers") diff --git a/spack-repos/release-repo-template/packages/dqm/package.py b/spack-repos/release-repo-template/packages/dqm/package.py index b1dbd3641..6622228c4 100644 --- a/spack-repos/release-repo-template/packages/dqm/package.py +++ b/spack-repos/release-repo-template/packages/dqm/package.py @@ -18,7 +18,7 @@ class Dqm(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on("daq-cmake", type="build") + depends_on("daq-cmake", type=("build", "run")) depends_on("daqdataformats") depends_on("detdataformats") depends_on("detchannelmaps") diff --git a/spack-repos/release-repo-template/packages/dtpctrllibs/package.py b/spack-repos/release-repo-template/packages/dtpctrllibs/package.py index 5e1056e82..070ad8678 100644 --- a/spack-repos/release-repo-template/packages/dtpctrllibs/package.py +++ b/spack-repos/release-repo-template/packages/dtpctrllibs/package.py @@ -17,7 +17,7 @@ class Dtpctrllibs(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on("daq-cmake", type="build") + depends_on("daq-cmake", type=("build", "run")) depends_on("appfwk") depends_on("ers") depends_on("logging") diff --git a/spack-repos/release-repo-template/packages/flxlibs/package.py b/spack-repos/release-repo-template/packages/flxlibs/package.py index 26a890ba5..5b63a68f8 100644 --- a/spack-repos/release-repo-template/packages/flxlibs/package.py +++ b/spack-repos/release-repo-template/packages/flxlibs/package.py @@ -18,7 +18,7 @@ class Flxlibs(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on("daq-cmake", type="build") + depends_on("daq-cmake", type=("build", "run")) depends_on("appfwk") depends_on("logging") depends_on("ers") diff --git a/spack-repos/release-repo-template/packages/lbrulibs/package.py b/spack-repos/release-repo-template/packages/lbrulibs/package.py index 4adf26490..49247ecbb 100644 --- a/spack-repos/release-repo-template/packages/lbrulibs/package.py +++ b/spack-repos/release-repo-template/packages/lbrulibs/package.py @@ -18,7 +18,7 @@ class Lbrulibs(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on("daq-cmake", type="build") + depends_on("daq-cmake", type=("build", "run")) depends_on("readoutlibs") depends_on("ndreadoutlibs") depends_on("ipm") diff --git a/spack-repos/release-repo-template/packages/listrev/package.py b/spack-repos/release-repo-template/packages/listrev/package.py index 0516f7ff2..0b8878cef 100644 --- a/spack-repos/release-repo-template/packages/listrev/package.py +++ b/spack-repos/release-repo-template/packages/listrev/package.py @@ -19,7 +19,7 @@ class Listrev(CMakePackage): version("XVERSIONX", commit="XHASHX") depends_on("appfwk") - depends_on("daq-cmake", type="build") + depends_on("daq-cmake", type=("build", "run")) depends_on("rcif") depends_on("opmonlib") depends_on("logging") diff --git a/spack-repos/release-repo-template/packages/readoutmodules/package.py b/spack-repos/release-repo-template/packages/readoutmodules/package.py index 9a2c1e049..d201c461e 100644 --- a/spack-repos/release-repo-template/packages/readoutmodules/package.py +++ b/spack-repos/release-repo-template/packages/readoutmodules/package.py @@ -17,6 +17,7 @@ class Readoutmodules(CMakePackage): version("XVERSIONX", commit="XHASHX") + depends_on("daq-cmake", type=("build", "run")) depends_on("ers") depends_on("appfwk") depends_on("logging") @@ -29,8 +30,6 @@ class Readoutmodules(CMakePackage): depends_on("dfmessages") depends_on('folly cxxstd=17') depends_on("boost") - - depends_on("daq-cmake", type="build") depends_on("py-moo", type='run') # DBT_DEBUG is used by daq-cmake to set compiler options diff --git a/spack-repos/release-repo-template/packages/timinglibs/package.py b/spack-repos/release-repo-template/packages/timinglibs/package.py index 28651e41b..2b0cab85b 100644 --- a/spack-repos/release-repo-template/packages/timinglibs/package.py +++ b/spack-repos/release-repo-template/packages/timinglibs/package.py @@ -18,7 +18,7 @@ class Timinglibs(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on("daq-cmake", type="build") + depends_on("daq-cmake", type=("build", "run")) depends_on("ers") depends_on("timing") depends_on("dfmessages") diff --git a/spack-repos/release-repo-template/packages/trigger/package.py b/spack-repos/release-repo-template/packages/trigger/package.py index b87204837..cc3e79bbd 100644 --- a/spack-repos/release-repo-template/packages/trigger/package.py +++ b/spack-repos/release-repo-template/packages/trigger/package.py @@ -17,7 +17,7 @@ class Trigger(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on("daq-cmake", type="build") + depends_on("daq-cmake", type=("build", "run")) depends_on("ers") depends_on('boost') depends_on("serialization") diff --git a/spack-repos/release-repo-template/packages/wibmod/package.py b/spack-repos/release-repo-template/packages/wibmod/package.py index 853ee7f31..a1640c84c 100644 --- a/spack-repos/release-repo-template/packages/wibmod/package.py +++ b/spack-repos/release-repo-template/packages/wibmod/package.py @@ -23,7 +23,7 @@ class Wibmod(CMakePackage): depends_on("cppzmq") depends_on("protobuf") - depends_on("daq-cmake", type="build") + depends_on("daq-cmake", type=("build", "run")) depends_on('py-moo', type='run') # DBT_DEBUG is used by daq-cmake to set compiler options From 6835bdbba62d4fa8dd6c45789c60a8c5ec06edb2 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 18 Aug 2022 22:24:41 +0000 Subject: [PATCH 16/20] JCF: Issue #129: account for the fact that pybind11 isn't needed when daq-cmake is built, but IS needed by other packages which use it --- .../release-repo-template/packages/daq-cmake/package.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spack-repos/release-repo-template/packages/daq-cmake/package.py b/spack-repos/release-repo-template/packages/daq-cmake/package.py index 659380a9e..56c8b75d8 100644 --- a/spack-repos/release-repo-template/packages/daq-cmake/package.py +++ b/spack-repos/release-repo-template/packages/daq-cmake/package.py @@ -17,10 +17,10 @@ class DaqCmake(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on("py-pybind11", type=("build")) + depends_on("py-pybind11", type=("link", "run")) depends_on("py-moo", type=("build")) depends_on("cmake", type=("build")) - + # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): if str(self.spec.variants['build_type']) == "build_type=Debug": From 0b47f94d44385fff11a2a687b255316dafde8f31 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 19 Aug 2022 16:47:06 +0000 Subject: [PATCH 17/20] JCF: Issue #129: a further correction to daq-cmake's relationship to pybind11 and py-moo --- scripts/spack/make-release-repo.py | 4 ++-- .../release-repo-template/packages/daq-cmake/package.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/spack/make-release-repo.py b/scripts/spack/make-release-repo.py index 09058810e..d63ae3178 100755 --- a/scripts/spack/make-release-repo.py +++ b/scripts/spack/make-release-repo.py @@ -161,7 +161,7 @@ def generate_daq_package(self, repo_path, template_dir): with open(ipkgpy, 'w') as o: o.write(lines) - print(f"Info: package.py has been written at {os.getcwd()}/{ipkgpy}.") + print(f"Info: from {os.getcwd()}, package.py has been written at {ipkgpy}.") return def generate_umbrella_package(self, repo_path, template_dir): @@ -201,7 +201,7 @@ def generate_umbrella_package(self, repo_path, template_dir): ipkgpy = os.path.join(ipkg_dir, "package.py") with open(ipkgpy, 'w') as o: o.write(lines) - print(f"Info: package.py has been written at {os.getcwd()}/{ipkgpy}.") + print(f"Info: from {os.getcwd()}, package.py has been written at {ipkgpy}.") return def generate_repo(self, outdir, tempdir, update_hash, release_name): diff --git a/spack-repos/release-repo-template/packages/daq-cmake/package.py b/spack-repos/release-repo-template/packages/daq-cmake/package.py index 56c8b75d8..48007fc4b 100644 --- a/spack-repos/release-repo-template/packages/daq-cmake/package.py +++ b/spack-repos/release-repo-template/packages/daq-cmake/package.py @@ -17,8 +17,8 @@ class DaqCmake(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on("py-pybind11", type=("link", "run")) - depends_on("py-moo", type=("build")) + depends_on("py-pybind11", type=("run")) + depends_on("py-moo", type=("run")) depends_on("cmake", type=("build")) # DBT_DEBUG is used by daq-cmake to set compiler options From 8d46bf494cc0afbd2f06a9158af2d5993a731de2 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 19 Aug 2022 21:49:20 +0000 Subject: [PATCH 18/20] JCF: Issue #129: remove *explicit* dependence of dunedaq on daq-cmake under the ~dev option --- scripts/spack/make-release-repo.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/scripts/spack/make-release-repo.py b/scripts/spack/make-release-repo.py index d63ae3178..139d1bc53 100755 --- a/scripts/spack/make-release-repo.py +++ b/scripts/spack/make-release-repo.py @@ -193,7 +193,10 @@ def generate_umbrella_package(self, repo_path, template_dir): if "dunedaq" not in self.rdict["release"]: iver = self.rdict["release"] - lines += f'\n depends_on(f"{iname}@{iver} build_type={{build_type}}", when=f"build_type={{build_type}}")' + if iname != "daq-cmake": + lines += f'\n depends_on(f"{iname}@{iver} build_type={{build_type}}", when=f"build_type={{build_type}}")' + else: + lines += f'\n depends_on(f"{iname}@{iver} build_type={{build_type}}", when=f"build_type={{build_type}} +dev")' lines += '\n' ipkg_dir = os.path.join(repo_dir, ipkg) From 59afabe3ac3713716e1d93cf237d4a3b1e2a6011 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 26 Aug 2022 19:14:56 +0000 Subject: [PATCH 19/20] JCF: Issue #129: account for the fact that moo is actually loaded in the Python virtual environment and thus doesn't need to be specified as a Spack run-time dependency --- .../release-repo-template/packages/appfwk/package.py | 2 +- .../release-repo-template/packages/cmdlib/package.py | 1 + .../release-repo-template/packages/ctbmodules/package.py | 2 +- .../release-repo-template/packages/daq-cmake/package.py | 1 - .../release-repo-template/packages/daqconf/package.py | 1 - .../release-repo-template/packages/dfmodules/package.py | 2 +- spack-repos/release-repo-template/packages/dqm/package.py | 2 +- .../release-repo-template/packages/dtpctrllibs/package.py | 2 +- .../release-repo-template/packages/flxlibs/package.py | 2 +- .../release-repo-template/packages/hdf5libs/package.py | 4 +++- .../release-repo-template/packages/iomanager/package.py | 1 + spack-repos/release-repo-template/packages/ipm/package.py | 1 + .../release-repo-template/packages/lbrulibs/package.py | 2 +- .../release-repo-template/packages/listrev/package.py | 5 +++-- .../packages/nwqueueadapters/package.py | 1 - .../release-repo-template/packages/opmonlib/package.py | 3 ++- .../release-repo-template/packages/rawdatautils/package.py | 1 + spack-repos/release-repo-template/packages/rcif/package.py | 2 ++ .../release-repo-template/packages/readoutlibs/package.py | 5 +++-- .../packages/readoutmodules/package.py | 3 ++- .../release-repo-template/packages/serialization/package.py | 2 ++ .../release-repo-template/packages/sspmodules/package.py | 4 +++- .../release-repo-template/packages/timing/package.py | 3 ++- .../release-repo-template/packages/timinglibs/package.py | 4 ++-- .../release-repo-template/packages/trigemu/package.py | 1 - .../release-repo-template/packages/trigger/package.py | 3 ++- .../release-repo-template/packages/wibmod/package.py | 6 +++--- 27 files changed, 40 insertions(+), 26 deletions(-) diff --git a/spack-repos/release-repo-template/packages/appfwk/package.py b/spack-repos/release-repo-template/packages/appfwk/package.py index 124500ce6..5a094d2f5 100644 --- a/spack-repos/release-repo-template/packages/appfwk/package.py +++ b/spack-repos/release-repo-template/packages/appfwk/package.py @@ -19,6 +19,7 @@ class Appfwk(CMakePackage): depends_on('daq-cmake', type=('build', 'run')) + depends_on('py-moo', type=('build')) depends_on('logging') depends_on('cetlib') depends_on('ers') @@ -28,7 +29,6 @@ class Appfwk(CMakePackage): depends_on('opmonlib') depends_on('nlohmann-json') - depends_on('py-moo', type='run') depends_on('boost', type='build' ) depends_on("pistache@dunedaq-v2.8.0") diff --git a/spack-repos/release-repo-template/packages/cmdlib/package.py b/spack-repos/release-repo-template/packages/cmdlib/package.py index 666867230..5c8531d5a 100644 --- a/spack-repos/release-repo-template/packages/cmdlib/package.py +++ b/spack-repos/release-repo-template/packages/cmdlib/package.py @@ -18,6 +18,7 @@ class Cmdlib(CMakePackage): version("XVERSIONX", commit="XHASHX") depends_on("daq-cmake", type="build") + depends_on("py-moo", type="build") depends_on('cetlib') depends_on('intel-tbb') depends_on('nlohmann-json') diff --git a/spack-repos/release-repo-template/packages/ctbmodules/package.py b/spack-repos/release-repo-template/packages/ctbmodules/package.py index ca08e4692..10c09cae1 100644 --- a/spack-repos/release-repo-template/packages/ctbmodules/package.py +++ b/spack-repos/release-repo-template/packages/ctbmodules/package.py @@ -18,13 +18,13 @@ class Ctbmodules(CMakePackage): version("XVERSIONX", commit="XHASHX") depends_on("daq-cmake", type="build") + depends_on("py-moo", type="build") depends_on("rcif") depends_on("appfwk") depends_on("opmonlib") depends_on("logging") depends_on("ers") - depends_on("py-moo", type='run') # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): diff --git a/spack-repos/release-repo-template/packages/daq-cmake/package.py b/spack-repos/release-repo-template/packages/daq-cmake/package.py index 48007fc4b..adf268ffe 100644 --- a/spack-repos/release-repo-template/packages/daq-cmake/package.py +++ b/spack-repos/release-repo-template/packages/daq-cmake/package.py @@ -18,7 +18,6 @@ class DaqCmake(CMakePackage): version("XVERSIONX", commit="XHASHX") depends_on("py-pybind11", type=("run")) - depends_on("py-moo", type=("run")) depends_on("cmake", type=("build")) # DBT_DEBUG is used by daq-cmake to set compiler options diff --git a/spack-repos/release-repo-template/packages/daqconf/package.py b/spack-repos/release-repo-template/packages/daqconf/package.py index de3e82768..2d3a60ed8 100644 --- a/spack-repos/release-repo-template/packages/daqconf/package.py +++ b/spack-repos/release-repo-template/packages/daqconf/package.py @@ -18,7 +18,6 @@ class Daqconf(CMakePackage): version("XVERSIONX", commit="XHASHX") depends_on("daq-cmake", type=("build", "run")) - depends_on("py-moo", type='run') # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): diff --git a/spack-repos/release-repo-template/packages/dfmodules/package.py b/spack-repos/release-repo-template/packages/dfmodules/package.py index e69700dbf..501ba9ad1 100644 --- a/spack-repos/release-repo-template/packages/dfmodules/package.py +++ b/spack-repos/release-repo-template/packages/dfmodules/package.py @@ -19,6 +19,7 @@ class Dfmodules(CMakePackage): depends_on("daq-cmake", type=("build", "run")) + depends_on("py-moo", type="build") depends_on("appfwk") depends_on("logging") depends_on("ers") @@ -32,7 +33,6 @@ class Dfmodules(CMakePackage): depends_on("serialization") depends_on("readoutlibs") depends_on("boost") - depends_on("py-moo", type='run') # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): diff --git a/spack-repos/release-repo-template/packages/dqm/package.py b/spack-repos/release-repo-template/packages/dqm/package.py index 6622228c4..83dda3fa5 100644 --- a/spack-repos/release-repo-template/packages/dqm/package.py +++ b/spack-repos/release-repo-template/packages/dqm/package.py @@ -19,6 +19,7 @@ class Dqm(CMakePackage): depends_on("daq-cmake", type=("build", "run")) + depends_on("py-moo", type="build") depends_on("daqdataformats") depends_on("detdataformats") depends_on("detchannelmaps") @@ -28,7 +29,6 @@ class Dqm(CMakePackage): depends_on("timinglibs") depends_on("boost") depends_on("fftw ~mpi") - depends_on("py-moo", type='run') depends_on("openssl") depends_on("krb5") diff --git a/spack-repos/release-repo-template/packages/dtpctrllibs/package.py b/spack-repos/release-repo-template/packages/dtpctrllibs/package.py index 070ad8678..2d934822c 100644 --- a/spack-repos/release-repo-template/packages/dtpctrllibs/package.py +++ b/spack-repos/release-repo-template/packages/dtpctrllibs/package.py @@ -18,6 +18,7 @@ class Dtpctrllibs(CMakePackage): version("XVERSIONX", commit="XHASHX") depends_on("daq-cmake", type=("build", "run")) + depends_on("py-moo", type="build") depends_on("appfwk") depends_on("ers") depends_on("logging") @@ -27,7 +28,6 @@ class Dtpctrllibs(CMakePackage): depends_on("pugixml") depends_on("dtpcontrols") - depends_on("py-moo", type='run') # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): diff --git a/spack-repos/release-repo-template/packages/flxlibs/package.py b/spack-repos/release-repo-template/packages/flxlibs/package.py index 5b63a68f8..eb7174f87 100644 --- a/spack-repos/release-repo-template/packages/flxlibs/package.py +++ b/spack-repos/release-repo-template/packages/flxlibs/package.py @@ -19,6 +19,7 @@ class Flxlibs(CMakePackage): depends_on("daq-cmake", type=("build", "run")) + depends_on("py-moo", type="build") depends_on("appfwk") depends_on("logging") depends_on("ers") @@ -26,7 +27,6 @@ class Flxlibs(CMakePackage): depends_on("fdreadoutlibs") depends_on("felix-software") depends_on("opmonlib") - depends_on("py-moo", type='run') # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): diff --git a/spack-repos/release-repo-template/packages/hdf5libs/package.py b/spack-repos/release-repo-template/packages/hdf5libs/package.py index 951718e41..7329ea2b6 100644 --- a/spack-repos/release-repo-template/packages/hdf5libs/package.py +++ b/spack-repos/release-repo-template/packages/hdf5libs/package.py @@ -17,6 +17,9 @@ class Hdf5libs(CMakePackage): version("XVERSIONX", commit="XHASHX") + depends_on("daq-cmake", type="build") + depends_on("py-moo", type="build") + depends_on("logging") depends_on("highfive ~mpi") depends_on("daqdataformats") @@ -24,7 +27,6 @@ class Hdf5libs(CMakePackage): depends_on("detchannelmaps") depends_on("cetlib") depends_on("ers") - depends_on("daq-cmake", type="build") depends_on("boost", type="build") depends_on("nlohmann-json") diff --git a/spack-repos/release-repo-template/packages/iomanager/package.py b/spack-repos/release-repo-template/packages/iomanager/package.py index 73020e28a..1a8f32949 100644 --- a/spack-repos/release-repo-template/packages/iomanager/package.py +++ b/spack-repos/release-repo-template/packages/iomanager/package.py @@ -18,6 +18,7 @@ class Iomanager(CMakePackage): version("XVERSIONX", commit="XHASHX") depends_on("daq-cmake", type = "build") + depends_on("py-moo", type="build") depends_on("ipm") depends_on("opmonlib") depends_on('folly cxxstd=17') diff --git a/spack-repos/release-repo-template/packages/ipm/package.py b/spack-repos/release-repo-template/packages/ipm/package.py index 8f5e301d8..33b29e005 100644 --- a/spack-repos/release-repo-template/packages/ipm/package.py +++ b/spack-repos/release-repo-template/packages/ipm/package.py @@ -18,6 +18,7 @@ class Ipm(CMakePackage): version("XVERSIONX", commit="XHASHX") depends_on("daq-cmake", type="build") + depends_on("py-moo", type="build") depends_on("logging") depends_on("utilities") depends_on("cetlib") diff --git a/spack-repos/release-repo-template/packages/lbrulibs/package.py b/spack-repos/release-repo-template/packages/lbrulibs/package.py index 49247ecbb..18d61fd7b 100644 --- a/spack-repos/release-repo-template/packages/lbrulibs/package.py +++ b/spack-repos/release-repo-template/packages/lbrulibs/package.py @@ -19,6 +19,7 @@ class Lbrulibs(CMakePackage): depends_on("daq-cmake", type=("build", "run")) + depends_on("py-moo", type="build") depends_on("readoutlibs") depends_on("ndreadoutlibs") depends_on("ipm") @@ -27,7 +28,6 @@ class Lbrulibs(CMakePackage): depends_on("boost", type="build") depends_on("ers") depends_on("detdataformats") - depends_on("py-moo", type='run') # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): diff --git a/spack-repos/release-repo-template/packages/listrev/package.py b/spack-repos/release-repo-template/packages/listrev/package.py index 0b8878cef..4fb728420 100644 --- a/spack-repos/release-repo-template/packages/listrev/package.py +++ b/spack-repos/release-repo-template/packages/listrev/package.py @@ -18,14 +18,15 @@ class Listrev(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on("appfwk") depends_on("daq-cmake", type=("build", "run")) + depends_on("py-moo", type="build") + + depends_on("appfwk") depends_on("rcif") depends_on("opmonlib") depends_on("logging") depends_on("ers") - depends_on("py-moo", type='run') # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): diff --git a/spack-repos/release-repo-template/packages/nwqueueadapters/package.py b/spack-repos/release-repo-template/packages/nwqueueadapters/package.py index 6175f3abb..5175f2ab3 100644 --- a/spack-repos/release-repo-template/packages/nwqueueadapters/package.py +++ b/spack-repos/release-repo-template/packages/nwqueueadapters/package.py @@ -27,7 +27,6 @@ class Nwqueueadapters(CMakePackage): depends_on("opmonlib") depends_on("ers") depends_on("boost") - depends_on("py-moo", type='run') depends_on("nlohmann-json") diff --git a/spack-repos/release-repo-template/packages/opmonlib/package.py b/spack-repos/release-repo-template/packages/opmonlib/package.py index a5896fc90..cf6b181bf 100644 --- a/spack-repos/release-repo-template/packages/opmonlib/package.py +++ b/spack-repos/release-repo-template/packages/opmonlib/package.py @@ -17,8 +17,9 @@ class Opmonlib(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on('daq-cmake', type='build') + depends_on("py-moo", type="build") + depends_on('cetlib') depends_on('ers') depends_on('logging') diff --git a/spack-repos/release-repo-template/packages/rawdatautils/package.py b/spack-repos/release-repo-template/packages/rawdatautils/package.py index 41f106846..fb6179551 100644 --- a/spack-repos/release-repo-template/packages/rawdatautils/package.py +++ b/spack-repos/release-repo-template/packages/rawdatautils/package.py @@ -18,6 +18,7 @@ class Rawdatautils(CMakePackage): version("XVERSIONX", commit="XHASHX") depends_on("daq-cmake", type="build") + depends_on("daqdataformats") depends_on("detdataformats") diff --git a/spack-repos/release-repo-template/packages/rcif/package.py b/spack-repos/release-repo-template/packages/rcif/package.py index fc8fac5cf..36ada0cd5 100644 --- a/spack-repos/release-repo-template/packages/rcif/package.py +++ b/spack-repos/release-repo-template/packages/rcif/package.py @@ -18,6 +18,8 @@ class Rcif(CMakePackage): version("XVERSIONX", commit="XHASHX") depends_on("daq-cmake", type="build") + depends_on("py-moo", type="build") + depends_on("cmdlib") depends_on("opmonlib") diff --git a/spack-repos/release-repo-template/packages/readoutlibs/package.py b/spack-repos/release-repo-template/packages/readoutlibs/package.py index efebad357..8831645dc 100644 --- a/spack-repos/release-repo-template/packages/readoutlibs/package.py +++ b/spack-repos/release-repo-template/packages/readoutlibs/package.py @@ -17,6 +17,9 @@ class Readoutlibs(CMakePackage): version("XVERSIONX", commit="XHASHX") + depends_on("daq-cmake", type="build") + depends_on("py-moo", type="build") + depends_on("ers") depends_on("appfwk") depends_on("logging") @@ -27,8 +30,6 @@ class Readoutlibs(CMakePackage): depends_on('folly cxxstd=17') depends_on("boost") - depends_on("daq-cmake", type="build") - # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): if str(self.spec.variants['build_type']) == "build_type=Debug": diff --git a/spack-repos/release-repo-template/packages/readoutmodules/package.py b/spack-repos/release-repo-template/packages/readoutmodules/package.py index d201c461e..af5492e37 100644 --- a/spack-repos/release-repo-template/packages/readoutmodules/package.py +++ b/spack-repos/release-repo-template/packages/readoutmodules/package.py @@ -18,6 +18,8 @@ class Readoutmodules(CMakePackage): version("XVERSIONX", commit="XHASHX") depends_on("daq-cmake", type=("build", "run")) + depends_on("py-moo", type="build") + depends_on("ers") depends_on("appfwk") depends_on("logging") @@ -30,7 +32,6 @@ class Readoutmodules(CMakePackage): depends_on("dfmessages") depends_on('folly cxxstd=17') depends_on("boost") - depends_on("py-moo", type='run') # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): diff --git a/spack-repos/release-repo-template/packages/serialization/package.py b/spack-repos/release-repo-template/packages/serialization/package.py index 49ea74c60..5a0001b13 100644 --- a/spack-repos/release-repo-template/packages/serialization/package.py +++ b/spack-repos/release-repo-template/packages/serialization/package.py @@ -18,6 +18,8 @@ class Serialization(CMakePackage): version("XVERSIONX", commit="XHASHX") depends_on("daq-cmake", type="build") + depends_on("py-moo", type="build") + depends_on("nlohmann-json") depends_on("msgpack-c") depends_on("logging") diff --git a/spack-repos/release-repo-template/packages/sspmodules/package.py b/spack-repos/release-repo-template/packages/sspmodules/package.py index 0015e50ca..18a03641e 100644 --- a/spack-repos/release-repo-template/packages/sspmodules/package.py +++ b/spack-repos/release-repo-template/packages/sspmodules/package.py @@ -17,6 +17,9 @@ class Sspmodules(CMakePackage): version("XVERSIONX", commit="XHASHX") + depends_on("daq-cmake", type="build") + depends_on("py-moo", type="build") + depends_on("appfwk") depends_on("iomanager") depends_on("logging") @@ -26,7 +29,6 @@ class Sspmodules(CMakePackage): depends_on("fdreadoutlibs") depends_on("opmonlib") depends_on("boost") - depends_on("daq-cmake", type="build") def setup_run_environment(self, env): env.set(self.__module__.split(".")[-1].upper().replace("-", "_") + "_SHARE", self.prefix + "/share" ) diff --git a/spack-repos/release-repo-template/packages/timing/package.py b/spack-repos/release-repo-template/packages/timing/package.py index cfdc42334..b0cf7f456 100644 --- a/spack-repos/release-repo-template/packages/timing/package.py +++ b/spack-repos/release-repo-template/packages/timing/package.py @@ -17,8 +17,9 @@ class Timing(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on('daq-cmake', type='build') + depends_on("py-moo", type="build") + depends_on('ers') depends_on('logging') depends_on('nlohmann-json') diff --git a/spack-repos/release-repo-template/packages/timinglibs/package.py b/spack-repos/release-repo-template/packages/timinglibs/package.py index 2b0cab85b..c27524f09 100644 --- a/spack-repos/release-repo-template/packages/timinglibs/package.py +++ b/spack-repos/release-repo-template/packages/timinglibs/package.py @@ -17,8 +17,9 @@ class Timinglibs(CMakePackage): version("XVERSIONX", commit="XHASHX") - depends_on("daq-cmake", type=("build", "run")) + depends_on("py-moo", type="build") + depends_on("ers") depends_on("timing") depends_on("dfmessages") @@ -34,7 +35,6 @@ class Timinglibs(CMakePackage): depends_on("nlohmann-json") depends_on("pugixml") - depends_on("py-moo", type='run') # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): diff --git a/spack-repos/release-repo-template/packages/trigemu/package.py b/spack-repos/release-repo-template/packages/trigemu/package.py index 41977e761..2de2455b0 100644 --- a/spack-repos/release-repo-template/packages/trigemu/package.py +++ b/spack-repos/release-repo-template/packages/trigemu/package.py @@ -24,7 +24,6 @@ class Trigemu(CMakePackage): depends_on("dfmessages") depends_on("opmonlib") - depends_on('py-moo', type='run') # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): diff --git a/spack-repos/release-repo-template/packages/trigger/package.py b/spack-repos/release-repo-template/packages/trigger/package.py index cc3e79bbd..a58599425 100644 --- a/spack-repos/release-repo-template/packages/trigger/package.py +++ b/spack-repos/release-repo-template/packages/trigger/package.py @@ -18,6 +18,8 @@ class Trigger(CMakePackage): version("XVERSIONX", commit="XHASHX") depends_on("daq-cmake", type=("build", "run")) + depends_on("py-moo", type="build") + depends_on("ers") depends_on('boost') depends_on("serialization") @@ -35,7 +37,6 @@ class Trigger(CMakePackage): depends_on("hdf5libs") depends_on("cli11") depends_on("readoutlibs") - depends_on("py-moo", type='run') # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): diff --git a/spack-repos/release-repo-template/packages/wibmod/package.py b/spack-repos/release-repo-template/packages/wibmod/package.py index a1640c84c..410c5f5fd 100644 --- a/spack-repos/release-repo-template/packages/wibmod/package.py +++ b/spack-repos/release-repo-template/packages/wibmod/package.py @@ -17,15 +17,15 @@ class Wibmod(CMakePackage): version("XVERSIONX", commit="XHASHX") + depends_on("daq-cmake", type=("build", "run")) + depends_on("py-moo", type="build") + depends_on("ers") depends_on("logging") depends_on("appfwk") depends_on("cppzmq") depends_on("protobuf") - depends_on("daq-cmake", type=("build", "run")) - depends_on('py-moo', type='run') - # DBT_DEBUG is used by daq-cmake to set compiler options def cmake_args(self): if str(self.spec.variants['build_type']) == "build_type=Debug": From 73a994dd40cfe71b673da779ef7447a681b5afba Mon Sep 17 00:00:00 2001 From: root Date: Sat, 27 Aug 2022 01:38:43 +0000 Subject: [PATCH 20/20] JCF: Issue #129: After discussion with Pengfei, have the no-dev variant of externals continue to not depend on devtools, but regardless still depend on the systems umbrella package (needed for openssh and parts of gcc) --- spack-repos/release-repo-template/packages/externals/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/spack-repos/release-repo-template/packages/externals/package.py b/spack-repos/release-repo-template/packages/externals/package.py index e34c4f4a3..b11678d87 100644 --- a/spack-repos/release-repo-template/packages/externals/package.py +++ b/spack-repos/release-repo-template/packages/externals/package.py @@ -18,4 +18,5 @@ class Externals(BundlePackage): # Generate from release YAML file depends_on("devtools@XRELEASEX", when="+dev") + depends_on("systems@XRELEASEX", when="~dev") # Additional dependencies defined in YAML file to be filled below