Writing a bash completion script for the s6-rc program, I'm stuck when completing service names.
I'd like for the user to be able to complete `sudo s6-rc -u change some...` from a non-root terminal, but trying to use the output of `s6-rc-db list services` fails as it can't take a lock in /run/s6-rc/compiled. While longruns can be sourced from the s6-svscan directory, bundles, pipelines and oneshots can't. Reading the source directory instead seems to be the simplest solution, but is using the compiled definitions entirely out of the question?