Source: advligorts
Section: science
Priority: optional
Maintainer: Jameson Graef Rollins <jameson.rollins@ligo.org>
Build-Depends:
 bison,
 cmake,
 debhelper-compat (= 12),
 dkms,
 epics-dev,
 epics-seq-dev,
 flex,
 golang (>= 1.15),
 grace,
 ldas-tools-al-dev,
 ldas-tools-framecpp-dev (<< 2.9),
 ldas-tools-framecpp-dev (>= 2.8.1),
 libboost-all-dev,
 libbz2-dev,
 libc-dev-bin,
 libcds-pubsub-dev (>= 0.3.1),
 libfl-dev,
 libnds2-client-dev,
 libtool,
 pkg-config,
 pybind11-dev,
 rapidjson-dev,
 libzstd-dev,
 python3-pytest,
 libspdlog-dev,
 libfmt-dev,
 libyaml-cpp-dev,
Standards-Version: 4.5.0
Vcs-Git: https://git.ligo.org/cds/advLigoRTS
Rules-Requires-Root: no

Package: advligorts-common
Architecture: all
Depends:
 adduser,
 debconf,
 ${misc:Depends},
Description: advLigoRTS common resources metapackage
 Core component of advLigoRTS.
 .
 Support for other advLigoRTS packages, including creation of the
 'advligorts' user, system config and directories, etc.

Package: advligorts-find-module-symvers
Architecture: any
Depends:
 ${misc:Depends},
 ${shlibs:Depends},
Description: advLigoRTS build helper for looking up dkms module symvers
 advLigoRTS build helper for looking up dkms module symvers
 .
 You provide the name of a dkms managed module, and this tool will
 lookup the Module.symvers paths for your build.


Package: advligorts-dolphin-daemon
Architecture: any
Depends:
 advligorts-common,
 advligorts-dolphin-proxy-km-dkms,
 ${misc:Depends},
 ${shlibs:Depends},
Description: advLigoRTS dolphin userspace daemon
 Handles netlink messages from real time modules.
 .
 Listens for netlink messages requesting dolphin segment allocations
 and sends them to the advligorts-dolphin-proxy-km-dkms, returning
 that modules messages to the original requestor.

Package: advligorts-mbuf-dkms
Architecture: any
Depends:
 advligorts-common,
 ${misc:Depends},
 ${shlibs:Depends},
Description: advLigoRTS mbuf kernel module
 Core component of advLigoRTS.
 .
 Memory buffer kernel module.

Package: advligorts-gpstime-dkms
Architecture: any
Depends:
 advligorts-common,
 python3,
 ${misc:Depends},
Description: advLigoRTS gpstime kernel module
 Core component of advLigoRTS.
 .
 GPS card interface kernel module.

Package: advligorts-cpu-isolator-dkms
Architecture: any
Depends:
 ${misc:Depends},
Description: advLigoRTS realtime module.
 Core component of advLigoRTS
 .
 This module provides the hooks needed to run real time LIGO models without requiring a custom built kernel.

Package: advligorts-logger-dkms
Architecture: any
Depends:
 ${misc:Depends},
Description: advLigoRTS isolated cpu logger module.
 Core component of advLigoRTS
 .
 This module provides logging capabilities to real time isolated kernel modules.

Package: advligorts-dolphin-proxy-km-dkms
Architecture: any
Depends:
 advligorts-find-module-symvers,
 ${misc:Depends},
Description: advLigoRTS dolphin node interface module.
 Core component of advLigoRTS dolphin nodes
 .
 This module provides a netlink interface to interact with the Dolphin kernel space interface


Package: advligorts-daqd
Architecture: any
Depends:
 advligorts-common,
 advligorts-mbuf-dkms,
 ldas-tools-framecpp (<< 2.9),
 ldas-tools-framecpp (>= 2.8.1),
 ${misc:Depends},
 ${shlibs:Depends},
Description: advLigoRTS daqd binaries
 Core component of advLigoRTS.
 .
 Binaries for acquiring data from front ends, writing frames, and
 serving data via NDS.

Package: advligorts-simulated-streams
Architecture: any
Depends:
 ${misc:Depends},
 ${shlibs:Depends},
Description: Daqd debug applications used to create simulated data
 streams and verify those streams.
 .
 Used for debugging of the daqd and its data stream.

Package: advligorts-rcg
Architecture: any
Depends:
 adduser,
 advligorts-common,
 advligorts-gpstime-dkms,
 advligorts-mbuf-dkms,
 advligorts-logger-dkms,
 autoconf,
 dkms,
 epics-seq-dev,
 libncurses5-dev,
 libswitch-perl,
 make,
 pkg-config,
 python3,
 python3-rtcds (>= 6),
 tcsh,
 git,
 cmake,
 catch,
 pybind11-dev,
 libspdlog-dev,
 libjson-perl,
 ${misc:Depends},
 ${perl:Depends},
Recommends:
 advligorts-fe,
Description: advLigoRTS real-time code generator (RCG)
 Core component of advLigoRTS.
 .
 Real-time Code Generator system for building real-time signal
 processing kernel modules from Simulink description graphs.

Package: advligorts-fe
Architecture: any
Depends:
 advligorts-awgtpman,
 advligorts-common,
 advligorts-edc,
 advligorts-gpstime-dkms,
 advligorts-local-dc,
 advligorts-mbuf-dkms,
 python3-rtcds (>= 6),
 rtcds-frontend-startup (>= 6),
 sudo,
 ${misc:Depends},
 ${shlibs:Depends},
Conflicts:
 advligorts-rcg (<< 4.0.0~dev0),
Description: advLigoRTS front end support
 Core component of advLigoRTS.
 .
 Binaries and systemd services for advLigoRTS front end systems.

Package: advligorts-local-dc
Architecture: any
Depends:
 advligorts-common,
 advligorts-gpstime-dkms,
 advligorts-mbuf-dkms,
 ${misc:Depends},
 ${shlibs:Depends},
Description: advLigoRTS local data concentrator
 Core component of advLigoRTS.
 .
 Binaries and systemd services to support concentrating LIGO
 front end data into a single buffer for transmission.

Package: advligorts-awgtpman
Architecture: any
Depends:
 advligorts-common,
 advligorts-gpstime-dkms,
 advligorts-mbuf-dkms,
 rpcbind,
 ${misc:Depends},
 ${shlibs:Depends},
Description: advLigoRTS waveform generator and test point manager.
 Core component of advLigoRTS.
 .
 Binaries and systemd services for the advLigoRTS front end system.
 Awgtpman is the interface which interacts with the LIGO front end
 systems to enable test points and injections.

Package: advligorts-edc
Architecture: any
Depends:
 advligorts-common,
 advligorts-gpstime-dkms,
 advligorts-local-dc,
 advligorts-mbuf-dkms,
 ${misc:Depends},
 ${shlibs:Depends},
Description: advLigoRTS EPICS data collection software.
 Core component of advLigoRTS.
 .
 Binaries and systemd services for the advLigoRTS system.  The
 edc collects EPICS channels and stores them in a shared memory
 buffer that can be consumed by the advLigoRTS daqd systems.

Package: advligorts-transport-common
Architecture: all
Depends:
 advligorts-common,
 advligorts-gpstime-dkms,
 advligorts-mbuf-dkms,
 ${misc:Depends},
Description: advLigoRTS transport common metapackage
 Core component of advLigoRTS.
 .
 Common systemd units and dependencies for transport services.

Package: advligorts-transport-pubsub
Architecture: any
Depends:
 advligorts-transport-common,
 libcds-pubsub (>= 0.3.1),
 ${misc:Depends},
 ${shlibs:Depends},
Description: advLigoRTS pub/sub based transport
 Core component of advLigoRTS.
 .
 IP-based pub/sub network transport for advLigoRTS DAQD structures.

Package: advligorts-cymac
Architecture: all
Depends:
 advligorts-daqd,
 advligorts-fe,
 advligorts-rcg,
 psmisc,
 ${misc:Depends},
Recommends:
 cds-workstation,
Description: advLigoRTS stand-alone "CYMAC" metapackage
 Advanced LIGO data acquisition system, stand-alone version.

Package: python3-ligo-shmem
Architecture: any
Depends:
 python3,
 ${misc:Depends},
Recommends:
 advligorts-mbuf-dkms,
Description: Python library for opening and accessing the LIGO mbuf and posix shmem buffers.

Package: advligorts-dev
Architecture: any
Description: Development files for advligorts
 Header files for use in projects that share data structures with advligorts.

Package: advligorts-trend-utils
Architecture: any
Depends:
 ldas-tools-framecpp (<< 2.9),
 ldas-tools-framecpp (>= 2.8.1),
 ${misc:Depends},
 ${shlibs:Depends},
Description: advLigoRTS raw trend utils for verification and manipulation of raw trends.

Package: libsimpleargs-dev
Architecture: any
Depends:
 ${misc:Depends},
 ${shlibs:Depends},
Description: A simple commandline argument parser for C++.
