Daniel Barlow
e94bf62ec1
remove dead code (run deadnix)
2024-06-29 22:59:27 +01:00
Daniel Barlow
16a2499d74
avoid makeWrapper on host, it requires bash
2024-06-29 22:36:05 +01:00
Daniel Barlow
d4d8093f97
working l2tp-over-wwan stick example
2024-06-20 10:15:54 +01:00
Daniel Barlow
7c9c801afc
rename isTrigger to restart-on-upgrade
...
we're moving away from "trigger" services to "controller" services,
and "restart-on-upgrade" is the name used by s6-rc
2024-06-16 12:58:06 +01:00
Daniel Barlow
c4185617c0
a6-rc-up-tree wait for lock if needed
2024-06-15 15:36:07 +01:00
Daniel Barlow
9540fc2641
add writeAshScriptBin (forgot to add file)
2024-06-15 15:04:56 +01:00
Daniel Barlow
49d1703428
add s6-rc-up-tree: start reverse deps of controlled service
...
When s6-rc stops a service, it also stops everything that
depends on it. but when it starts a service it starts only
that service, so we have to go through the other services
depending on it and figure out if they should be started too.
2024-06-15 14:59:34 +01:00
Daniel Barlow
e6ca5ea064
store derivations not just names for service deps
...
.. also controllers, contents. This is to make it possible (easier)
to work out transitive dependencies at build time
2024-06-11 14:01:06 +01:00
Daniel Barlow
e6e4665a18
flip dependencies for triggered/controlled services
...
Instead of treating the trigger as the "main" service and the
triggered service as subsidary, now we treat the triggered
service as the service and the trigger as "subsidary". This
needs some special handling when we work out which services
go in the default bundle, but it works better for declaring
dependencies on triggered services because it means the
dependency runs after the triggered service comes up, not
just when the watcher-for-events starts
2024-06-09 22:37:45 +01:00
Daniel Barlow
571adf84c0
inherit builtins.map
2024-06-07 16:55:45 +01:00
Daniel Barlow
f091bbd706
devout: recognise attr,attrs when parsing search term string
2024-06-01 23:48:05 +01:00
Daniel Barlow
04b068f7a3
delete unused code
2024-06-01 22:43:48 +01:00
Daniel Barlow
53f57c1a8c
devout: support sysfs attributes for (grand*)parent device
2024-06-01 22:43:27 +01:00
Daniel Barlow
19aba0d873
devout: support search for sysfs attributes
2024-06-01 21:20:41 +01:00
Daniel Barlow
7d00b39249
rename attributes->properties when referring to uevent fields
...
properties: key-value pairs in the uevent message
attributes: file contents in sysfs
2024-06-01 12:17:49 +01:00
Daniel Barlow
a3fca5bf05
devout: add functions to read sysfs attributes
2024-05-26 18:03:32 +01:00
Daniel Barlow
af9200a136
skip symlink handing unless linkname was provided
2024-05-26 18:00:31 +01:00
Daniel Barlow
58cd007ccc
barebones usb_modeswitch package
2024-05-22 18:54:49 +01:00
Daniel Barlow
c0ef6ce282
list pkgs we need in bordervm build
...
it's a bit silly trying to build it with the whole liminix overlay
when it's a nixos system not a liminix system
2024-05-22 18:45:35 +01:00
Daniel Barlow
471c63b399
s6-rc do cleanup in "finish", don't append to "run" script
...
s6-supervise sends signals (e.g. SIGTERM) to the pid of the process
running "run", so how do we know if the ceanup commands are even
getting executed if the shell interpreter that is supposed to do that
got killed already?
2024-05-13 17:53:02 +01:00
Daniel Barlow
8b69dcc209
pass entire config fragment to levitate, not just services
...
to make it useful we need to be able to set packages, passwords, ssh
keys etc
2024-04-29 20:07:01 +01:00
Daniel Barlow
3d4e782929
devout: run tests in postBuild
...
because checkPhase is not executed when cross-compiling, and this
package is always only cross-compiled
2024-04-27 21:07:25 +01:00
Daniel Barlow
1b6a05aec5
make uevent-watch use devout instead of direct netlink
2024-04-27 21:07:25 +01:00
Daniel Barlow
80628a3d90
move event matching tests to devout
...
in preparation for future uevent-watch not needing to do
event matching
2024-04-27 21:07:25 +01:00
Daniel Barlow
bf0cafffed
start devout alongside mdevd
...
ensure it starts before mdevd-coldplug so it can populate
its database
2024-04-26 20:52:12 +01:00
Daniel Barlow
e49aba127c
devout: improve socket error handling
2024-04-26 20:49:23 +01:00
Daniel Barlow
324465bc18
devout: write uevent KEY=value format to clients
2024-04-26 17:37:28 +01:00
Daniel Barlow
b33249a050
devout: add readiness notification
2024-04-26 17:23:29 +01:00
Daniel Barlow
b9c084415e
devout: handle readiness on netlink socket but no event
2024-04-26 17:20:33 +01:00
Daniel Barlow
cf9cadd212
devout: replay relevant events to new subscriber
2024-04-26 17:20:33 +01:00
Daniel Barlow
a116fe084a
devout: use socket constants from anoia.net.constants
2024-04-26 16:48:51 +01:00
Daniel Barlow
74cf3e0711
add anoia.net.constants for SOCK_{STREAM,DGRAM} etc
...
we use an ugly bit of C preprocessor to get the values from
header files, because certain constants are different on MIPS
than on other architectures
2024-04-26 16:43:09 +01:00
Daniel Barlow
cdb23b147c
convert anoia.fs to use lualinux
2024-04-25 21:14:37 +01:00
Daniel Barlow
dbd1264352
convert anoia.fs to use lualinux instead of lfs
2024-04-24 20:44:32 +01:00
Daniel Barlow
18335b95e3
devout: strip newlines from client terms
...
this is just to make testing with socat easier
2024-04-24 18:33:02 +01:00
Daniel Barlow
6bee2f67ac
devout: add incoming netlink messages to database
2024-04-24 18:32:27 +01:00
Daniel Barlow
b4ba3eea21
fix revents in unpack-pollfds
2024-04-24 18:31:26 +01:00
Daniel Barlow
16af3984c9
add lualinux to fennelrepl
2024-04-24 18:30:34 +01:00
Daniel Barlow
ce7e395295
devout test: replace minisock with lualinux
2024-04-24 18:29:24 +01:00
Daniel Barlow
7e13e017eb
add readline suport to fennelrepl
2024-04-24 18:28:39 +01:00
Daniel Barlow
bbf2f53c0e
cross-compile lualinux
2024-04-24 18:28:14 +01:00
Daniel Barlow
032d0f8aca
add netlink socket
...
it's not hooked up to anything yet, but it proves we can
do this with lualinux
2024-04-23 23:34:25 +01:00
Daniel Barlow
b8ac9e5279
convert devout from minisock to lualinux
2024-04-23 23:33:11 +01:00
Daniel Barlow
72789984ce
add lualinux package
2024-04-23 22:41:38 +01:00
Daniel Barlow
90d9d0e811
update minisock to not scribble on lua strings
2024-04-23 20:19:33 +01:00
Daniel Barlow
97a8ae1c84
devout: add event loop and main `run` function
2024-04-23 20:15:02 +01:00
Daniel Barlow
52eb283a26
implement unsubscribe
...
and add ids to subscribe so that there's a unique identifier
to pass to unsubscribe
2024-04-23 20:12:46 +01:00
Daniel Barlow
cbb1de804e
switch to minisock fork witj poll() call
...
this is likely to be temporary as minisock is getting
replaced with lualinux
2024-04-23 20:09:41 +01:00
Daniel Barlow
f9c03998b8
implement subscriptions with callback
2024-04-21 13:19:17 +01:00
Daniel Barlow
50de1b090f
add the rest of the test list (all we've thought of)
2024-04-21 11:22:26 +01:00