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

Better support for running as auxiliary service manager #29

Open
netbsduser opened this issue Aug 10, 2021 · 2 comments
Open

Better support for running as auxiliary service manager #29

netbsduser opened this issue Aug 10, 2021 · 2 comments

Comments

@netbsduser
Copy link
Member

We should better support running as an auxiliary service manager. Some rough thoughts:

  1. General refactoring of the logic in the manager for behaving differently according to run mode - sometimes it uses getpid(), sometimes other things - it's a mess, needs to be cleaned up.
  2. Probably wise to add a 'auxiliary' flag to the manager struct rather than a new RunningAs mode.
  3. The special targets and services like dbus.socket and dbus.service - need to handle these
@netbsduser
Copy link
Member Author

Relevant areas:
Connecting to the buses:

r = bus_init(m, reexecuting || running_as != SYSTEMD_SYSTEM);

Adding D-Bus dependencies:
r = unit_add_two_dependencies_by_name(u, UNIT_AFTER, UNIT_WANTS, // FIXME: was dbus_socket

@netbsduser
Copy link
Member Author

Made some good progress on point 1, implemented point 2 as a new flags enumeration for system mode (flags include is-PID1, is-in-container, is-auxiliary) and point 3 by adding a check-dbus-up.service to check if system d-bus is up. Need to consider the possibility of system d-bus failing too?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

1 participant