Revisiting pup_event
Due to dissatisfaction with available service managers, I am thinking of writing my own, as an extension of "pup_event".
In June 2013, I wrote pup_event_frontend_d.bac, BaCon code.
/usr/local/pup_event has this utility, plus some more scripts. The main
objective was to manage hotplugging, for example to detect when a USB
drive is plugged in or removed.
I announced pup_event_frontend_d.bac here:
http://bkhome.org/archive/blog2/201306/new-pupeventfrontend.html
It was very creative, totally different from any other Linux distro. Not
long after that, I retired from the Puppy development "front line".
Actually, the concept of pup_event started earlier, circa 2008, see this post:
http://bkhome.org/archive/blog2/200805/drive-icons-on-desktop.html
...the post has links to some documentation, which has moved, now here:
http://bkhome.org/archive/puppylinux/technical/module-loading.htm
http://bkhome.org/archive/puppylinux/technical/event-management.htm
Fast forward to today, I wondered what has happened to pup_event in
woof-CE. There has been a lot done to it, mostly by "wdlkmpx". For
example, he rewrote pup_event_frontend_d in C:
https://github.com/puppylinux-woof-CE/woof-CE/blob/4439fcc63d3eedb839fa625bb8f983d3b2461e3d/woof-code/rootfs-skeleton/usr/local/pup_event/pup_event_frontend_d.c
...that page is an earlier version. Since then, it got moved, and there have been more commits.
For myself, I like BaCon, and will probably stay with it.
I think that pup_event can be easily extended to be a service manager.
My tentative thinking is to remove /usr/local/pup_event_frontend_d
(which is launched from /root/.xinitrc when X starts), replace with
pup_event_backend (that will be launched from /etc/rc.d/rc.sysinit).
This new pup_event_backend will do the same as pup_event_frontend_d, but a couple of extra things, including service management.
There are a couple of old scripts in /sbin:
pup_event_backend_firmware
pup_event_backend_modprobe
pup_event_backend_modprobe_protect
These were developed back around 2008 - 2012, in collaboration with "rerwin" (Richard Erwin).
There are still in woof-CE, untouched since being imported from Woof2, four years ago:
https://github.com/puppylinux-woof-CE/woof-CE/tree/testing/woof-code/rootfs-skeleton/sbin
I don't know if we need them anymore. Perhaps not. They were developed
in the days of 'module-init-tools', before 'kmod', when the kernel did
not have automatic /dev node creation and automatic firmware loading.
That early backend stuff is described in the above link, here it is again:
http://bkhome.org/archive/puppylinux/technical/module-loading.htm