Skip to content

tango-controls: init at 9.3.5#183077

Draft
pmiddend wants to merge 2 commits intoNixOS:masterfrom
pmiddend:tango-init
Draft

tango-controls: init at 9.3.5#183077
pmiddend wants to merge 2 commits intoNixOS:masterfrom
pmiddend:tango-init

Conversation

@pmiddend
Copy link
Contributor

@pmiddend pmiddend commented Jul 27, 2022

Description of changes

At DESY and other facilities, we use the Tango controls software (see the home page) and also dabble a bit with Nix. I wrote this derivation and successfully tested it on its own (by creating a MariaDB for the configuration and then running result/bin/tango start), as well as including it in the build for pytango in poetry2nix.

The controls system contains a few components:

  1. The main server is written in C++. The main tango executable is just a script which starts the DataBaseds server.
  2. Astor and Jive are Java-based tools to configure and inspect the running instance. I have tested that these indeed work. If you're wondering about the usage of openjdk8, that, unfortunately, is deliberate. Due to their usage of CORBA, they are stuck with Java 8 (exactly 8) for now.
  3. To initialize the database (which can be MySQL or MariaDB, in theory - in practise, only MariaDB worked for me) there are .sql scripts. Those reference each other using the source foobar.sql directive, and I decided to use some sed calls to make these references absolute. Hope that's idiomatic enough.

To test this for real, you would need to follow these simple steps:

  1. Start a MariaDB, create the tango database using the scripts in result/share/sql/create_db.sql
  2. Build tango-controls and execute:
MYSQL_USER=youruser MYSQL_PASSWORD=yourpassword result/bin/tango start
  1. Test the connection by running result/bin/jive.
Things done
  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 22.11 Release Notes (or backporting 22.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
    • (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes
  • Fits CONTRIBUTING.md.

@pmiddend
Copy link
Contributor Author

pmiddend commented Jul 27, 2022

@ofborg build tango-controls

@ofborg ofborg bot added 8.has: package (new) This PR adds a new package 11.by: package-maintainer This PR was created by a maintainer of all the package it changes. 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. labels Jul 27, 2022
@pmiddend pmiddend removed 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. labels Jul 27, 2022
@ofborg ofborg bot added the 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. label Jul 27, 2022
@pmiddend pmiddend removed the 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. label Jul 27, 2022
@ofborg ofborg bot added 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. labels Aug 8, 2022
@wegank wegank added the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Mar 19, 2024
@wegank wegank added the 2.status: merge conflict This PR has merge conflicts with the target branch label Dec 10, 2024
@stale stale bot removed the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Dec 10, 2024
@wegank wegank added the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Jan 1, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2.status: merge conflict This PR has merge conflicts with the target branch 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md 8.has: package (new) This PR adds a new package 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. 11.by: package-maintainer This PR was created by a maintainer of all the package it changes.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants