mirror of
https://github.com/ilyakooo0/urbit.git
synced 2024-12-26 00:12:28 +03:00
clay,hood: seems to boot for real now
This commit is contained in:
parent
df250a0eae
commit
4f3e99f797
@ -100,19 +100,18 @@
|
|||||||
|= =path
|
|= =path
|
||||||
^- step:agent:gall
|
^- step:agent:gall
|
||||||
?+ path (on-watch:def +<)
|
?+ path (on-watch:def +<)
|
||||||
[%drum *] =^(c drum.state (peer:drum-core +<) [c this])
|
[%drum *] =^(c drum.state (peer:drum-core t.path) [c this])
|
||||||
[%kiln *] =^(c kiln.state (peer:kiln-core +<) [c this])
|
[%kiln *] =^(c kiln.state (peer:kiln-core t.path) [c this])
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
++ on-agent
|
++ on-agent
|
||||||
|= [=wire =sign:agent:gall]
|
|= [=wire syn=sign:agent:gall]
|
||||||
^- step:agent:gall
|
^- step:agent:gall
|
||||||
?+ wire ~|([%hood-bad-wire wire] !!)
|
?+ wire ~|([%hood-bad-wire wire] !!)
|
||||||
[%drum *] =^(c drum.state (take-agent:drum-core +<) [c this])
|
[%drum *] =^(c drum.state (take-agent:drum-core t.wire syn) [c this])
|
||||||
[%helm *] =^(c helm.state (take-agent:helm-core +<) [c this])
|
[%helm *] =^(c helm.state (take-agent:helm-core t.wire syn) [c this])
|
||||||
[%kiln *] =^(c kiln.state (take-agent:kiln-core +<) [c this])
|
[%kiln *] =^(c kiln.state (take-agent:kiln-core t.wire syn) [c this])
|
||||||
==
|
==
|
||||||
:: TODO: symmetry between adding and stripping wire prefixes
|
|
||||||
::
|
::
|
||||||
++ on-arvo
|
++ on-arvo
|
||||||
|= [=wire syn=sign-arvo]
|
|= [=wire syn=sign-arvo]
|
||||||
|
@ -179,13 +179,13 @@
|
|||||||
++ take-agent
|
++ take-agent
|
||||||
|= [=wire =sign:agent:gall]
|
|= [=wire =sign:agent:gall]
|
||||||
?+ wire ~|([%drum-bad-take-agent wire -.sign] !!)
|
?+ wire ~|([%drum-bad-take-agent wire -.sign] !!)
|
||||||
[%drum %phat *]
|
[%phat *]
|
||||||
?- -.sign
|
?- -.sign
|
||||||
%poke-ack (take-coup-phat t.t.wire p.sign)
|
%poke-ack (take-coup-phat t.wire p.sign)
|
||||||
%watch-ack (reap-phat t.t.wire p.sign)
|
%watch-ack (reap-phat t.wire p.sign)
|
||||||
%kick (quit-phat t.t.wire)
|
%kick (quit-phat t.wire)
|
||||||
%fact
|
%fact
|
||||||
%+ diff-sole-effect-phat t.t.wire
|
%+ diff-sole-effect-phat t.wire
|
||||||
?> ?=(%sole-effect p.cage.sign)
|
?> ?=(%sole-effect p.cage.sign)
|
||||||
!<(sole-effect q.cage.sign)
|
!<(sole-effect q.cage.sign)
|
||||||
==
|
==
|
||||||
|
@ -222,8 +222,8 @@
|
|||||||
++ take-agent
|
++ take-agent
|
||||||
|= [=wire =sign:agent:gall]
|
|= [=wire =sign:agent:gall]
|
||||||
?+ wire ~|([%helm-bad-take-agent wire -.sign] !!)
|
?+ wire ~|([%helm-bad-take-agent wire -.sign] !!)
|
||||||
[%helm %hi *] ?> ?=(%poke-ack -.sign)
|
[%hi *] ?> ?=(%poke-ack -.sign)
|
||||||
(coup-hi t.t.wire p.sign)
|
(coup-hi t.wire p.sign)
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
++ take-bound
|
++ take-bound
|
||||||
|
@ -407,8 +407,9 @@
|
|||||||
^+ vats
|
^+ vats
|
||||||
=/ onto ?>(?=([%gall %onto *] syn) p.syn)
|
=/ onto ?>(?=([%gall %onto *] syn) p.syn)
|
||||||
?- -.onto
|
?- -.onto
|
||||||
%& ?> ?=([@ @ ~] wire)
|
%& ~_ leaf/"kiln: %onto bad wire {<wire>}"
|
||||||
=+ ;;([=desk =dude:gall] [i i.t]:wire)
|
?> ?=([@ @ @ ~] wire)
|
||||||
|
=+ ;;([=desk =dude:gall] [i i.t.t]:wire)
|
||||||
?. (is-fish dude desk)
|
?. (is-fish dude desk)
|
||||||
vats
|
vats
|
||||||
=/ =cage [%drum-link !>([our dude])]
|
=/ =cage [%drum-link !>([our dude])]
|
||||||
@ -666,10 +667,13 @@
|
|||||||
++ take-agent
|
++ take-agent
|
||||||
|= [=wire =sign:agent:gall]
|
|= [=wire =sign:agent:gall]
|
||||||
?+ wire ~|([%kiln-bad-take-agent wire -.sign] !!)
|
?+ wire ~|([%kiln-bad-take-agent wire -.sign] !!)
|
||||||
[%kiln %fancy *] ?> ?=(%poke-ack -.sign)
|
[%fancy *]
|
||||||
(take-coup-fancy t.t.wire p.sign)
|
?> ?=(%poke-ack -.sign)
|
||||||
[%kiln %spam *] ?> ?=(%poke-ack -.sign)
|
(take-coup-fancy t.wire p.sign)
|
||||||
(take-coup-spam t.t.wire p.sign)
|
::
|
||||||
|
[%spam *]
|
||||||
|
?> ?=(%poke-ack -.sign)
|
||||||
|
(take-coup-spam t.wire p.sign)
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
++ take-arvo
|
++ take-arvo
|
||||||
|
@ -493,6 +493,7 @@
|
|||||||
?: (~(has in cycle.nub) vale+path)
|
?: (~(has in cycle.nub) vale+path)
|
||||||
~|(cycle+vale+path^stack.nub !!)
|
~|(cycle+vale+path^stack.nub !!)
|
||||||
=. cycle.nub (~(put in cycle.nub) vale+path)
|
=. cycle.nub (~(put in cycle.nub) vale+path)
|
||||||
|
::~> %slog.0^leaf/"ford: read file {(spud path)}"
|
||||||
?^ change=(~(get by changes) path)
|
?^ change=(~(get by changes) path)
|
||||||
=^ page nub
|
=^ page nub
|
||||||
?: ?=(%& -.u.change)
|
?: ?=(%& -.u.change)
|
||||||
@ -523,6 +524,7 @@
|
|||||||
=^ top stack.nub pop-stack
|
=^ top stack.nub pop-stack
|
||||||
=. naves.cache.nub (~(put by naves.cache.nub) mak [vase.res top])
|
=. naves.cache.nub (~(put by naves.cache.nub) mak [vase.res top])
|
||||||
[vase.res nub]
|
[vase.res nub]
|
||||||
|
~> %slog.0^leaf/"ford: make mark {<mak>}"
|
||||||
=^ cor=vase nub (build-fit %mar mak)
|
=^ cor=vase nub (build-fit %mar mak)
|
||||||
=/ gad=vase (slap cor limb/%grad)
|
=/ gad=vase (slap cor limb/%grad)
|
||||||
?@ q.gad
|
?@ q.gad
|
||||||
@ -597,6 +599,7 @@
|
|||||||
=. marks.cache.nub (~(put by marks.cache.nub) mak [dais.res top])
|
=. marks.cache.nub (~(put by marks.cache.nub) mak [dais.res top])
|
||||||
[dais.res nub]
|
[dais.res nub]
|
||||||
=^ nav=vase nub (build-nave mak)
|
=^ nav=vase nub (build-nave mak)
|
||||||
|
~> %slog.0^leaf/"ford: make dais {<mak>}"
|
||||||
:_ nub
|
:_ nub
|
||||||
^- dais
|
^- dais
|
||||||
|_ sam=vase
|
|_ sam=vase
|
||||||
@ -651,6 +654,7 @@
|
|||||||
[vase.res nub]
|
[vase.res nub]
|
||||||
:: try +grow; is there a +grow core with a .b arm?
|
:: try +grow; is there a +grow core with a .b arm?
|
||||||
::
|
::
|
||||||
|
~> %slog.0^leaf/"ford: make cast {<a>} -> {<b>}"
|
||||||
=^ old=vase nub (build-fit %mar a)
|
=^ old=vase nub (build-fit %mar a)
|
||||||
?: =/ ram (mule |.((slap old !,(*hoon grow))))
|
?: =/ ram (mule |.((slap old !,(*hoon grow))))
|
||||||
?: ?=(%| -.ram) %.n
|
?: ?=(%| -.ram) %.n
|
||||||
@ -710,6 +714,7 @@
|
|||||||
=. tubes.cache.nub (~(put by tubes.cache.nub) [a b] [tube.res top])
|
=. tubes.cache.nub (~(put by tubes.cache.nub) [a b] [tube.res top])
|
||||||
[tube.res nub]
|
[tube.res nub]
|
||||||
=^ gat=vase nub (build-cast a b)
|
=^ gat=vase nub (build-cast a b)
|
||||||
|
~> %slog.0^leaf/"ford: make tube {<a>} -> {<b>}"
|
||||||
:_(nub |=(v=vase (slam gat v)))
|
:_(nub |=(v=vase (slam gat v)))
|
||||||
::
|
::
|
||||||
++ lobe-to-page
|
++ lobe-to-page
|
||||||
@ -798,6 +803,7 @@
|
|||||||
=. stack.nub
|
=. stack.nub
|
||||||
=- [(sy - ~) stack.nub]
|
=- [(sy - ~) stack.nub]
|
||||||
?:(?=(%| -.dep) dep [& dir.p.dep])
|
?:(?=(%| -.dep) dep [& dir.p.dep])
|
||||||
|
~> %slog.0^leaf/"ford: make file {(spud path)}"
|
||||||
=^ cag=cage nub (read-file path)
|
=^ cag=cage nub (read-file path)
|
||||||
?> =(%hoon p.cag)
|
?> =(%hoon p.cag)
|
||||||
=/ tex=tape (trip !<(@t q.cag))
|
=/ tex=tape (trip !<(@t q.cag))
|
||||||
@ -1508,13 +1514,18 @@
|
|||||||
:: promote and fill in ankh
|
:: promote and fill in ankh
|
||||||
:: promote and fill in mime cache
|
:: promote and fill in mime cache
|
||||||
::
|
::
|
||||||
?: &(=(%base syd) !updated)
|
=/ invalid (~(uni in deletes) ~(key by changes))
|
||||||
|
?: &(=(%base syd) !updated (~(any in invalid) is-kernel-path))
|
||||||
(sys-update yoki new-data)
|
(sys-update yoki new-data)
|
||||||
|
::
|
||||||
|
=? updated updated (did-kernel-update invalid)
|
||||||
|
=> ?. updated .
|
||||||
|
~>(%slog.0^leaf/"clay: rebuilding {<syd>} after after kernel update" .)
|
||||||
:: clear caches if zuse reloaded
|
:: clear caches if zuse reloaded
|
||||||
::
|
::
|
||||||
=. fod.dom
|
=. fod.dom
|
||||||
?: updated *ford-cache
|
?: updated *ford-cache
|
||||||
(promote-ford fod.dom deletes ~(key by changes))
|
(promote-ford fod.dom invalid)
|
||||||
=? ank.dom updated *ankh
|
=? ank.dom updated *ankh
|
||||||
=? changes updated (changes-for-upgrade q.old-yaki deletes changes)
|
=? changes updated (changes-for-upgrade q.old-yaki deletes changes)
|
||||||
::
|
::
|
||||||
@ -1565,7 +1576,14 @@
|
|||||||
=. ..park (emil (print q.old-yaki data))
|
=. ..park (emil (print q.old-yaki data))
|
||||||
::
|
::
|
||||||
wake:(ergo mim)
|
wake:(ergo mim)
|
||||||
|
:: +is-kernel-path: should changing .pax cause a kernel or vane reload?
|
||||||
::
|
::
|
||||||
|
++ is-kernel-path |=(pax=path ?=([%sys *] pax))
|
||||||
|
::
|
||||||
|
++ did-kernel-update
|
||||||
|
|= invalid=(set path)
|
||||||
|
%- ~(any in invalid)
|
||||||
|
|=(p=path &((is-kernel-path p) !?=([%sys %vane *] p)))
|
||||||
:: +get-kelvin: read the desk's kernel version from /sys/kelvin
|
:: +get-kelvin: read the desk's kernel version from /sys/kelvin
|
||||||
::
|
::
|
||||||
++ get-kelvin
|
++ get-kelvin
|
||||||
@ -1654,13 +1672,13 @@
|
|||||||
:: Make sure to invalidate any paths whose '-'s or '/'s could be
|
:: Make sure to invalidate any paths whose '-'s or '/'s could be
|
||||||
:: converted in an import; i.e. /mar, /lib, and /sur hoon files.
|
:: converted in an import; i.e. /mar, /lib, and /sur hoon files.
|
||||||
::
|
::
|
||||||
|
:: If anything in the kernel other than a vane updated,
|
||||||
|
:: clear the cache.
|
||||||
|
::
|
||||||
++ promote-ford
|
++ promote-ford
|
||||||
|= [=ford-cache deletes=(set path) changes=(set path)]
|
|= [=ford-cache invalid=(set path)]
|
||||||
^+ ford-cache
|
^+ ford-cache
|
||||||
?: (~(has in changes) /sys/kelvin)
|
::
|
||||||
~> %slog.0^'clay: desk kelvin changed, clearing ford cache'
|
|
||||||
*^ford-cache
|
|
||||||
=/ invalid=(set path) (~(uni in deletes) changes)
|
|
||||||
=. invalid
|
=. invalid
|
||||||
%- ~(gas in invalid)
|
%- ~(gas in invalid)
|
||||||
%- zing
|
%- zing
|
||||||
@ -1678,6 +1696,8 @@
|
|||||||
%+ turn (tail (spud pux)) :: lose leading '/'
|
%+ turn (tail (spud pux)) :: lose leading '/'
|
||||||
|=(c=@tD `@tD`?:(=('/' c) '-' c)) :: convert '/' to '-'
|
|=(c=@tD `@tD`?:(=('/' c) '-' c)) :: convert '/' to '-'
|
||||||
::
|
::
|
||||||
|
~> %slog.0^leaf/"ford: {<~(wyt in invalid)>} cache invalidations"
|
||||||
|
::
|
||||||
:* ((invalidate path vase) files.ford-cache invalid)
|
:* ((invalidate path vase) files.ford-cache invalid)
|
||||||
((invalidate mark vase) naves.ford-cache invalid)
|
((invalidate mark vase) naves.ford-cache invalid)
|
||||||
((invalidate mark dais) marks.ford-cache invalid)
|
((invalidate mark dais) marks.ford-cache invalid)
|
||||||
@ -3660,19 +3680,23 @@
|
|||||||
|= [=aeon =path]
|
|= [=aeon =path]
|
||||||
^- [(unit (unit (each cage lobe))) ford-cache]
|
^- [(unit (unit (each cage lobe))) ford-cache]
|
||||||
?. =(aeon let.dom)
|
?. =(aeon let.dom)
|
||||||
|
~> %slog.0^leaf/"clay: %a unknown aeon {<[aeon path]>}"
|
||||||
[~ fod.dom]
|
[~ fod.dom]
|
||||||
=/ cached=(unit [=vase *]) (~(get by files.fod.dom) path)
|
=/ cached=(unit [=vase *]) (~(get by files.fod.dom) path)
|
||||||
?^ cached
|
?^ cached
|
||||||
:_(fod.dom [~ ~ %& %vase !>(vase.u.cached)])
|
:_(fod.dom [~ ~ %& %vase !>(vase.u.cached)])
|
||||||
=/ x (read-x aeon path)
|
=/ x (read-x aeon path)
|
||||||
?~ x
|
?~ x
|
||||||
|
~> %slog.0^leaf/"clay: %a can't resolve file at path {<path>}"
|
||||||
[~ fod.dom]
|
[~ fod.dom]
|
||||||
?~ u.x
|
?~ u.x
|
||||||
|
~> %slog.0^leaf/"clay: %a no file at path {<path>}"
|
||||||
[[~ ~] fod.dom]
|
[[~ ~] fod.dom]
|
||||||
:: should never happen at current aeon
|
:: should never happen at current aeon
|
||||||
?: ?=(%| -.u.u.x)
|
?: ?=(%| -.u.u.x)
|
||||||
[~ fod.dom]
|
[~ fod.dom]
|
||||||
=^ =vase fod.dom
|
=^ =vase fod.dom
|
||||||
|
~_ leaf/"clay: %a build failed {<path>}"
|
||||||
%- wrap:fusion
|
%- wrap:fusion
|
||||||
(build-file:(ford:fusion static-ford-args) path)
|
(build-file:(ford:fusion static-ford-args) path)
|
||||||
:_(fod.dom [~ ~ %& %vase !>(vase)])
|
:_(fod.dom [~ ~ %& %vase !>(vase)])
|
||||||
|
Loading…
Reference in New Issue
Block a user