Merge branch 'master' into release/next-userspace

This commit is contained in:
Matilde Park 2020-07-23 16:15:17 -04:00
commit bf02ba07e5
5 changed files with 110 additions and 17 deletions

View File

@ -280,8 +280,8 @@ separate releases.
(**Note**: the following steps are automated by some other Tlon-internal
tooling. Just ask `~nidsut-tomdun` for details.)
For Urbit OS updates, this means copying the files into ~zod's %base desk. The
changes will be synced to /~zod/kids and then propagated through other galaxies
For Urbit OS updates, this means copying the files into ~zod's %home desk. The
changes should be merged into /~zod/kids and then propagated through other galaxies
and stars to the rest of the network.
For consistency, I create a release tarball and then rsync the files in.
@ -289,9 +289,10 @@ For consistency, I create a release tarball and then rsync the files in.
```
$ wget https://github.com/urbit/urbit/archive/urbit-os-vx.y.z.tar.gz
$ tar xzf urbit-os-vx.y.z.tar.gz
$ herb zod -p hood -d "+hood/mount /=base="
$ rsync -zr --delete urbit-urbit-os-vx.y.z/pkg/arvo/ zod/base
$ herb zod -p hood -d "+hood/commit %base"
$ herb zod -p hood -d "+hood/mount /=home="
$ rsync -zr --delete urbit-urbit-os-vx.y.z/pkg/arvo/ zod/home
$ herb zod -p hood -d "+hood/commit %home"
$ herb zod -p hood -d "+hood/merge %kids our %home"
```
For Vere updates, this means simply shutting down each desired ship, installing

View File

@ -16,17 +16,19 @@
$% state-zero
state-one
state-two
state-three
==
::
+$ state-zero [%0 state-base]
+$ state-one [%1 state-base]
+$ state-two [%2 state-base]
+$ state-three [%3 state-base]
+$ state-base
$: =synced
invite-created=_|
==
--
=| state-two
=| state-three
=* state -
%- agent:dbug
%+ verb |
@ -53,8 +55,27 @@
=| cards=(list card)
|^
|- ^- (quip card _this)
?: ?=(%2 -.old)
?: ?=(%3 -.old)
[cards this(state old)]
?: ?=(%2 -.old)
%_ $
old [%3 +.old]
::
cards
%+ welp
cards
%- zing
%+ turn
~(tap by synced.old)
|= [=path =ship]
^- (list card)
?. =(ship our.bol)
~
?> ?=([%ship *] path)
:~ (pass-store contacts+t.path %leave ~)
(pass-store contacts+path %watch contacts+path)
==
==
?: ?=(%1 -.old)
%_ $
-.old %2
@ -90,6 +111,11 @@
|=([=ship =path] path)
?~ paths ~
[%give %kick paths ~]~
::
++ pass-store
|= [=wire =task:agent:gall]
^- card
[%pass wire %agent [our.bol %contact-store] task]
--
::
++ on-poke

View File

@ -7,6 +7,7 @@
$% state-zero
state-one
state-two
state-three
==
::
+$ rolodex-0 (map path contacts-0)
@ -34,9 +35,13 @@
$: %2
=rolodex
==
+$ state-three
$: %3
=rolodex
==
--
::
=| state-two
=| state-three
=* state -
%- agent:dbug
^- agent:gall
@ -54,8 +59,23 @@
=/ old !<(versioned-state old-vase)
=| cards=(list card)
|-
?: ?=(%2 -.old)
?: ?=(%3 -.old)
[cards this(state old)]
?: ?=(%2 -.old)
%_ $
-.old %3
::
rolodex.old
=/ def
(~(get by rolodex.old) /ship/~/default)
?~ def
rolodex.old
=. rolodex.old
(~(del by rolodex.old) /ship/~/default)
=. rolodex.old
(~(put by rolodex.old) /~/default u.def)
rolodex.old
==
?: ?=(%1 -.old)
=/ new-rolodex=^rolodex
%- malt

View File

@ -10,14 +10,19 @@
+$ card card:agent:gall
+$ versioned-state
$% state-zero
state-one
==
::
+$ state-zero
$: %0
synced=(map group-path ship)
==
+$ state-one
$: %1
synced=(map group-path ship)
==
--
=| state-zero
=| state-one
=* state -
%- agent:dbug
%+ verb |
@ -32,7 +37,17 @@
[[%pass /updates %agent [our.bowl %metadata-store] %watch /updates]~ this]
::
++ on-save !>(state)
++ on-load |=(=vase `this(state !<(state-zero vase)))
++ on-load
|= =vase
=/ old
!<(versioned-state vase)
?: ?=(%1 -.old)
`this(state old)
:: groups OTA did not migrate metadata syncs
:: we clear our syncs, and wait for metadata-store
:: to poke us with the syncs
`this
::
++ on-leave on-leave:def
++ on-peek on-peek:def
++ on-arvo on-arvo:def

View File

@ -21,8 +21,8 @@
:: /app-name/%app-name associations for app
:: /group/%group-path associations for group
::
/- *metadata-store
/+ *metadata-json, default-agent, verb, dbug
/- *metadata-store, *metadata-hook
/+ *metadata-json, default-agent, verb, dbug, resource
|%
+$ card card:agent:gall
::
@ -44,13 +44,19 @@
state-base
==
::
+$ state-two
$: %2
state-base
==
::
+$ versioned-state
$% state-zero
state-one
state-two
==
--
::
=| state-one
=| state-two
=* state -
%+ verb |
%- agent:dbug
@ -69,9 +75,26 @@
^- (quip card _this)
=/ old
!<(versioned-state vase)
?: ?=(%1 -.old)
`this(state old)
=| cards=(list card)
|-
|^
?: ?=(%2 -.old)
[cards this(state old)]
?: ?=(%1 -.old)
%_ $
old [%2 +.old]
::
cards
%+ turn
~(tap in ~(key by group-indices.old))
|= =group-path
^- card
=/ rid=resource
(de-path:resource group-path)
?: =(our.bowl entity.rid)
(poke-md-hook %add-owned group-path)
(poke-md-hook %add-synced entity.rid group-path)
==
=/ new-state=state-one
%* . *state-one
associations (migrate-associations associations.old)
@ -79,7 +102,15 @@
app-indices (migrate-app-indices app-indices.old)
resource-indices (migrate-resource-indices resource-indices.old)
==
`this(state new-state)
$(old new-state)
::
++ poke-md-hook
|= act=metadata-hook-action
^- card
=/ =cage
:_ !>(act)
%metadata-hook-action
[%pass / %agent [our.bowl %metadata-hook] %poke cage]
::
++ new-group-path
|= =group-path