so e has had a bit of a mess of setuid root tools to do things that
are essential to maintaing a functioning desktop/laptop/tablet/phone
like device like shutting it down or suspending or sqizzling the cpu
governor or messing with the backlight or... you get the idea.
this has been spread around enlightenment_sys and other special
purpose tools. this now unifies it into a single "always there"
enlightenment_system backend setuid root slave process whose job it is
to do all these things via a stdio protocol in an organized way. this
means latency to do something is lower, but at the expense of
consuming ram and a lurking process. unfortunately the lurking will be
needed soon when i add ddc support to make it even vaguely efficient,
so it's a cost i guess we have to pay now. we'll need this in future
as well for some stats collection and more.
still need to port existing code to use this instead of the existing stuff,
and then remove of the old stuff.
we do binary discovery to generate a sysactions.conf for the host
system now for l2ping and rfkill commands. before they were hardcoded
paths. nice fixup for polishing the release
so bluez itself wont go rfkill block or unblock the bt device. you
have to rfkill unblock separately if it's blocked. this is needed to
make bluez at a minimum work right. possibly should be added to
connman too. but this is the first step.
this is the correct way to write a build system. one toplevel Makefile.am with the rest of the directories having include Makefile.mk files.
additional authors:
Iván Briano <ivan.briano@intel.com>
1. clear out environment as best is possible before executing
anything. especially PATH and IFS are set to minimal base defaults.
also use clearenv() if available and unsetenv()
2. remove gdb method as it's just too dangerous. run it as normal as
the user and if the kernel / distro dny that - then sorry. too bad.
This use a custom implementation of l2ping to ping known device and do
proper action when they go away. I don't recommend to use the auto unlonck,
but it is there if someone need it.
We provide just a default, but distros should use their own version
with system specific groups and hibernate/suspend actions (pm-utils or
so)
SVN revision: 45596
sysactions more comprehensive and able to handle multiple groups a user
is a member of - config modified to handle common ones i find on debian
and ubuntu that "console" users tend to be added to. add divider in config
menu. work a tad more on fm2 dnd.
SVN revision: 26186
1. cleaned up actions for restart and exit
2. made main menu cleaner in just using the actions
3. added ilits unselect calls for ilist smart and widget
4. patch for cpufreq to set all cpu clocks
5. fix battery module to handle broken acpi impl's that don't report drain rate
6. add e_sys subsystem - for executing system sensitive stuff like halt, reboot
suspend, hibernate etc. this also covers exit, restart and logout. logout
is currently dormant and just an action - not bound or in a menu. not
complete anyway (no code for it). halt and reboot should probably use
logout logic to shut down apps - i will recycle it. i added a suid root
binary to do the actions - uses a system config (default one supplied that
is secure - root will need to modify it to allow things).
7. fixed suid install hook for cpufreq
8. added sysconf dir to build for sys config file.
9. pants on
SVN revision: 25395