Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tango-controls: init at 9.3.5 #183077

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from
Draft

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 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
@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 10.rebuild-darwin: 1 10.rebuild-linux: 1-10 10.rebuild-linux: 1 11.by: package-maintainer This PR was created by the maintainer of the package it changes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants