mirror of
https://github.com/ilyakooo0/urbit.git
synced 2025-01-04 13:19:48 +03:00
solid: support generating multi-desk pills
Notably, we include the base desk last. This is to ensure that the
other desks are present by the time kiln gets loaded from base, letting
it install the software on the other desks, as per 22ad2516c
.
This commit is contained in:
parent
22ad2516c9
commit
a29c3414d9
@ -58,4 +58,4 @@
|
||||
:~ (boot-ovum:pill compiler-source arvo-source)
|
||||
(file-ovum2:pill bas)
|
||||
==
|
||||
[(file-ovum:pill bas) ~]
|
||||
[(file-ovum:pill %base bas) ~]
|
||||
|
@ -12,16 +12,43 @@
|
||||
!:
|
||||
:- %say
|
||||
|= $: [now=@da eny=@uvJ bec=beak]
|
||||
arg=$@(~ [top=path ~])
|
||||
::
|
||||
:: arg: desks to build pill from
|
||||
::
|
||||
:: list of desks. defaults to [%base]~.
|
||||
:: the first desk in this list will become the pill's base desk.
|
||||
:: optionally, the first desk may be replaced with a fully
|
||||
:: qualified path to the new boot system (typically in sys).
|
||||
:: the rest of the desks will be installed through kiln.
|
||||
::
|
||||
$= arg
|
||||
$@ ~
|
||||
$: base=$@(desk [@ta @ta @ta path])
|
||||
rest=(list desk)
|
||||
==
|
||||
::
|
||||
dub=_|
|
||||
==
|
||||
:- %pill
|
||||
^- pill:pill
|
||||
:: sys: root path to boot system, `/~me/[desk]/now/sys`
|
||||
:: bas: root path to boot system' desk
|
||||
:: dez: secondary desks and their root paths
|
||||
::
|
||||
=/ sys=path
|
||||
?^ arg top.arg
|
||||
/(scot %p p.bec)/[q.bec]/(scot %da now)/sys
|
||||
?: ?=([^ *] arg)
|
||||
`path`base.arg
|
||||
=/ =desk
|
||||
?~ arg %base
|
||||
?>(?=(@ base.arg) base.arg)
|
||||
/(scot %p p.bec)/[desk]/(scot %da now)/sys
|
||||
=/ bas=path
|
||||
(scag 3 sys)
|
||||
=/ dez=(list [desk path])
|
||||
?~ arg ~
|
||||
%+ turn rest.arg
|
||||
|= =desk
|
||||
[desk /(scot %p p.bec)/[desk]/(scot %da now)]
|
||||
::
|
||||
=/ compiler-path (weld sys /hoon)
|
||||
=/ arvo-path (weld sys /arvo)
|
||||
@ -65,9 +92,10 @@
|
||||
=< q
|
||||
%^ spin
|
||||
^- (list ovum)
|
||||
:~ (boot-ovum:pill compiler-src arvo-src)
|
||||
(file-ovum2:pill (flop (tail (flop sys))))
|
||||
==
|
||||
:- (boot-ovum:pill compiler-src arvo-src)
|
||||
%+ turn
|
||||
(snoc (turn dez tail) bas)
|
||||
file-ovum2:pill
|
||||
.*(0 arvo-formula)
|
||||
|= [ovo=ovum ken=*]
|
||||
[~ (slum ken [now ovo])]
|
||||
@ -99,5 +127,6 @@
|
||||
::
|
||||
:+ %pill %solid
|
||||
:+ boot-ova ~
|
||||
=/ bas (flop (tail (flop sys)))
|
||||
[(file-ovum:pill bas) ~]
|
||||
%+ turn
|
||||
(snoc dez [%base bas])
|
||||
file-ovum:pill
|
||||
|
@ -49,7 +49,7 @@
|
||||
/web :: %eyre web content
|
||||
/desk :: desk manifest
|
||||
==
|
||||
|= bas=path
|
||||
|= [des=desk bas=path]
|
||||
^- unix-event
|
||||
%. directories
|
||||
|= :: sal: all spurs to load from
|
||||
@ -64,7 +64,7 @@
|
||||
:- *(list tako:clay)
|
||||
%- ~(gas by *(map path (each page:clay lobe:clay)))
|
||||
(turn hav |=([=path =page:clay] [path &+page]))
|
||||
[/c/sync [%park %base &+yuki *rang:clay]]
|
||||
[/c/sync [%park des &+yuki *rang:clay]]
|
||||
=| hav=(list [path page:clay])
|
||||
|- ^+ hav
|
||||
?~ sal ~
|
||||
|
Loading…
Reference in New Issue
Block a user