relaunchd: a portable clone of launchd
Jonathan de Boyne Pollard
J.deBoynePollard-newsgroups at NTLWorld.com
Sat Jan 2 13:42:13 UTC 2016
Mark Heily:
> Then, if a program cares deeply about using the most up-to-date
> timezone setting, it can subscribe to notifications about changes in
> the time.zone key, instead of constantly polling for changes to
> /etc/localtime.
>
If a program is constantly polling for changes to /etc/localtime, then
it should at minimum be rewritten to use kevent/kqueue. But that aside:
Mark Heily:
> In a nutshell, [stated] is a generic publish/subscribe mechanism for
> programs running on a single host to share information about their
> internal state and receive notifications about interesting events.
> [...] I'm hoping that [it] will present a unified view of all the
> important OS configuration settings, so that programs can subscribe to
> the ones they care about and get notified when they change. [...]
> Notice that the above JSON isn't specific to FreeBSD, so programs
> don't need to care about operating-system details like what file in
> /etc is used to define the hostname. On Linux, it can be
> /etc/hostname; on BSD it can be /etc/rc.conf; instead, all they need
> to know is that the current value of the hostname is stored in a key
> called "hostname"
>
> [...] I'm thinking of using D-Bus as the RPC mechanism for relaunchd,
> since a lot of open source programs are already using D-Bus.
>
You've almost reached the point (needing just to take the step of
combining what you later said about D-Bus with your ideas about servers
that publish events) of reinventing these:
* http://www.freedesktop.org/wiki/Software/systemd/timedated/
* http://www.freedesktop.org/wiki/Software/systemd/hostnamed/
* http://www.freedesktop.org/wiki/Software/systemd/localed/
I recommend, to anyone going down this route, looking towards finishing
systembsd, especially instead of inventing a wholly new suite of protocols.
* https://uglyman.kremlin.cc/gitweb/gitweb.cgi?p=systembsd.git
*
http://homepage.ntlworld.com./jonathan.deboynepollard/FGA/debian-systemd-packaging-hoo-hah.html
* https://news.ycombinator.com/item?id=10176275
The reason is that finishing systemdbsd will make happy all of the
people who want the desktop environments whose design is driven largely
by Linux to work on FreeBSD/PC-BSD. The desktop environments that
they'd like to use have been or are being modified to work with these
daemons, over this D-Bus protocol.
* http://blog.davidedmundson.co.uk/blog/systemd-and-plasma
*
https://systemd.events/systemdconf-2015/sessions/kde-plasma-embracing-systemd
Giving them another server that speaks another protocol won't help them
get their existing GNOME/KDE/whatever client utilities, that speak the
hostnamed/timedated/localed protocols, to work.
More information about the freebsd-hackers
mailing list